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)])
CDA数据分析师考试相关入口一览(建议收藏):
▷ 想报名CDA认证考试,点击>>>
“CDA报名”
了解CDA考试详情;
▷ 想加入CDA考试题库,点击>>> “CDA题库” 了解CDA考试详情;
▷ 想学习CDA考试教材,点击>>> “CDA教材” 了解CDA考试详情;
▷ 想查询CDA考试成绩,点击>>> “CDA成绩” 了解CDA考试详情;
▷ 想了解CDA考试含金量,点击>>> “CDA含金量” 了解CDA考试详情;
▷ 想获取CDA考试时间/费用/条件/大纲/通过率,点击 >>>“CDA考试官网” 了解CDA考试详情;