1. summary函数
返回这四列数据的最大最小值,中位数,以及四分位数和四分之三位数
mycars<-mtcars[,c("mpg","hp","wt","am")]#取出四列
summary(mycars)#返回这四列数据的最大最小值,中位数,以及四分位数和四分之三位数
2. fivenum函数
fivenum(mycars$mpg)#返回某列数据的最大最小值,中位数,以及四分位数和四分之三位数
3. describe函数
返回这四列数据的前五个最大最小值,中位数,以及四分位数和四分之三位数,缺失值的个数,行数(Observation),列数(Variables)
install.packages("Hmisc")
library(Hmisc)#第一次使用可能还要加载"lattice","survival","Formula","ggplot2"这些包
describe(mycars)
4. stat.desc函数
返回这四列数据的全部值的数量,空值,缺失值的数量,最大最小值,求和的值,中位数,均值,方差等
install.packages("pastecs")
library(pastecs)
stat.desc(mycars)
5. psych包中的describe函数
需要说明的是psych包中的describe函数与Hmisc包的同名,R语言的处理原则是后入为主——同名函数调用后是默认是后载入的包里的函数。虽说如此,但是遇到同名包时还是用包名::函数名即可。
返回这四列数据的全部值的数量,最大最小值,求和的值,中位数,均值,方差等,trimmed列是计算去除最大最小值后的均值。trim的值用来指定要去除的最大值和最小值的比例。
install.packages("psych")
library(psych)
describe(myvars)
#describe(mycars,trim = 0.1)#去除占总体数据的10%个最大和最小值之后再计算平均数
6. 分组统计
aggregate函数和summaryBy函数都只能描述单一的统计量
6.1 aggregate函数
分组统计时用aggregate函数进行统计描述
library(MASS)
Cars93
aggregate(Cars93[c("Min.Price","Price","Max.Price","MPG.city")],by=list(Manufacturer=Cars93$Manufacturer),mean)
#对生产商进行分组后求Min.Price,Price,Max.Price,MPG.city的均值,见图6
#aggregate(Cars93[c("Min.Price","Price","Max.Price","MPG.city")],by=list(Cars93$Origin),mean)
#对车辆来源进行分组后求Min.Price,Price,Max.Price,MPG.city的均值,见图7
#aggregate(Cars93[c("Min.Price","Price","Max.Price","MPG.city")],by=list(Manufacturer=Cars93$Manufacturer),sd)
#对生产商进行分组后求Min.Price,Price,Max.Price,MPG.city的标准差,见图8
#aggregate(Cars93[c("Min.Price","Price","Max.Price","MPG.city")],by=list(Cars93$Origin),sd)
#对车辆来源进行分组后求Min.Price,Price,Max.Price,MPG.city的标准差,见图9
#aggregate(Cars93[c("Min.Price","Price","Max.Price","MPG.city")],by=list(Origin=Cars93$Origin,Manufacturer=Cars93$Manufacturer),mean)
#对车辆来源和生产商进行分组后求Min.Price,Price,Max.Price,MPG.city的均值,见图10
6.2 summaryBy函数
安装doBy包
install.packages("doBy")
library(doBy)
summaryBy(mpg+hp+wt~am,data=mycars,FUN=mean)#求均值,波浪号左边是待计算的变量,右边是类别型的分组变量
6.3 describeBy函数
是psych包中的函数
install.packages("psych")
library(psych)
describeBy(mycars,list(am=mycars$am))#求多个统计值,list指明要进行分组的列