描述性统计分析
使用车辆路试(mtcars)数据集。关注每加仑汽油行驶英里数(mpg),马力(hp),车重(wt)。
> myvars<-c("mpg","hp","wt")
> head(mtcars[myvars])
其中head只取最前面6行
> summary(mtcars[myvars])
通过summary()计算描述性统计量。summary()函数提供了最小值、最大值、四分位数、和数值型变量的均值,以及因子向量和逻辑型向量的频数统计。
> mystats <- function(x, na.omit=FALSE){
if (na.omit)
x <- x[!is.na(x)]
m <- mean(x)
n <- length(x)
s <- sd(x)
skew <- sum((x-m)^3/s^3)/n
kurt <- sum((x-m)^4/s^4)/n - 3
return(c(n=n, mean=m, stdev=s, skew=skew, kurtosis=kurt))
}
> sapply(mtcars[myvars], mystats)
summary()函数中并没有提供偏度和峰度打的计算函数,可以使用sapply()添加类似平均值、标准差、分布等特征。
> myvars<-c("mpg","hp","wt")
> aggregate(mtcars[myvars],by=list(am=mtcars$am),mean)
> aggregate(mtcars[myvars],by=list(am=mtcars$am),sd)
如图,mtcars中的数据,am是的取值只有1和0两种,aggregate()方法得到的结果是am分别为0或者1时,我们选中的mpg、hp、wt值的mean(平均值)或者sd(标准差)。