登录
首页精彩阅读R语言用于数据分析的基本统计函数与基础可视化
R语言用于数据分析的基本统计函数与基础可视化
2017-12-17
收藏

R语言用于数据分析的基本统计函数与基础可视化

1.函数的基本用法

#将数据导入R中
> data(iris)   
#平均数
> mean(iris$Sepal.Length)
[1] 5.843333
#标准差
> sd(iris$Sepal.Length)
[1] 0.8280661
#方差
> var(iris$Sepal.Length)
[1] 0.6856935
#最小值
> min(iris$Sepal.Length)
[1] 4.3
#最大值
> max(iris$Sepal.Length)
[1] 7.9
#中位数
> median(iris$Sepal.Length)
[1] 5.8
#值的范围
> range(iris$Sepal.Length)
[1] 4.3 7.9
#分位点
> quantile(iris$Sepal.Length)
  0%  25%  50%  75% 100%
 4.3  5.1  5.8  6.4  7.9
sapply()函数

#忽略缺失值(na.rm=TRUE),求iris数据框前4个属性的平均值
> sapply(iris[1:4],mean,na.rm=TRUE)
Sepal.Length  Sepal.Width Petal.Length  Petal.Width
    5.843333     3.057333     3.758000     1.199333
#此处也可以用summary(iris)
> summary(iris)
  Sepal.Length    Sepal.Width     Petal.Length    Petal.Width          Species 
 Min.   :4.300   Min.   :2.000   Min.   :1.000   Min.   :0.100   setosa    :50 
 1st Qu.:5.100   1st Qu.:2.800   1st Qu.:1.600   1st Qu.:0.300   versicolor:50 
 Median :5.800   Median :3.000   Median :4.350   Median :1.300   virginica :50 
 Mean   :5.843   Mean   :3.057   Mean   :3.758   Mean   :1.199                 
 3rd Qu.:6.400   3rd Qu.:3.300   3rd Qu.:5.100   3rd Qu.:1.800                 
 Max.   :7.900   Max.   :4.400   Max.   :6.900   Max.   :2.500
变量间的关联进行分析

             Sepal.Length Sepal.Width Petal.Length Petal.Width
Sepal.Length    1.0000000  -0.1175698    0.8717538   0.8179411
Sepal.Width    -0.1175698   1.0000000   -0.4284401  -0.3661259
Petal.Length    0.8717538  -0.4284401    1.0000000   0.9628654
Petal.Width     0.8179411  -0.3661259    0.9628654   1.0000000
每一个属性对的协方差系数cov(iris[,1:4])

> cov(iris[,1:4])
             Sepal.Length Sepal.Width Petal.Length Petal.Width
Sepal.Length    0.6856935  -0.0424340    1.2743154   0.5162707
Sepal.Width    -0.0424340   0.1899794   -0.3296564  -0.1216394
Petal.Length    1.2743154  -0.3296564    3.1162779   1.2956094
Petal.Width     0.5162707  -0.1216394    1.2956094   0.5810063
统计检验可用来评估结果的显著性,下例用t检验来分析样本之间的差异,具体任务是用t检验判断setosa与versicolor两类鸢尾花的花萼宽度的差别。如果p<0.5,说明这两类花的花萼宽度差别非常明显:

> t.test(iris$Petal.Width[iris$Species=="setosa"],
+ iris$Petal.Width[iris$Species=="versicolor"])

    Welch Two Sample t-test

data:  iris$Petal.Width[iris$Species == "setosa"] and iris$Petal.Width[iris$Species == "versicolor"]
t = -34.08, df = 74.755, p-value < 2.2e-16
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.143133 -1.016867
sample estimates:
mean of x mean of y
    0.246     1.326
同样也可以对鸢尾花的花萼宽度与花萼长度进行进行关联性检验,评分越接近1,正向相关越强,反之亦然。

> cor.test(iris$Sepal.Length[iris$Species=="setosa"],
+        + iris$Sepal.Width[iris$Species=="setosa"])

    Pearson's product-moment correlation

data:  iris$Sepal.Length[iris$Species == "setosa"] and +iris$Sepal.Width[iris$Species == "setosa"]
t = 7.6807, df = 48, p-value = 6.71e-10
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 0.5851391 0.8460314
sample estimates:
      cor
0.7425467
基础可视化

> data(iris)
> table.iris = table(iris$Species)
> table.iris

    setosa versicolor  virginica
        50         50      50
> pie(table.iris)

花萼分布的直方图

> hist(iris$Sepal.Length)

盒图,也称箱图

boxplot(Petal.Width ~ Species,data = iris)

散点图,用在同一个图中比较两个变量关系的图

plot(x=iris$Petal.Length,y=iris$Ptal.Width,col=iris$Species)

绘制所有有两两之间的关系图
> pairs(iris[1:4],main = "IRIS DATE",pch=21,bg=c("red","green","blue")[unclass(iris$Species)])

数据分析咨询请扫描二维码

客服在线
立即咨询