R语言·基本统计分析(2)

分组计算描述性统计量

来看一个栗子 

myvars<-c("mpg","hp","wt")

aggregate(mtcars[myvars],by=list(am=mtcars$am),mean)  #均值

  am      mpg      hp      wt

1  0 17.14737 160.2632 3.768895

2  1 24.39231 126.8462 2.411000

aggregate(mtcars[myvars],by=list(am=mtcars$am),sd) #标准差

  am      mpg      hp        wt

1  0 3.833966 53.90820 0.7774001

2  1 6.166504 84.06232 0.6169816

#上述的描述了以am分组标签,对数据框的mpg,hp及wt进行了均值mea和标准差sd的描述,但是很遗憾,aggregate()函数每次只能单一调用和返回相关的统计量,所有

#我们需要借助于by()函数来解决这个问题,格式为:

#by(data,indices,fun),其中data为数据框或者矩阵,indices是一个因子或者因子组成的列表,fun是任意函数。

再来看一个栗子

 dstats<-function(x) sapply(x,mystats)  #定义函数,调用函数

 myvars<-c("mpg","hp","wt")

 by(mtcars[myvars],mtcars$am,dstats)  #by()函数

结果如下图:

R语言·基本统计分析(2)_第1张图片
by()函数统计结果

引用phych包中的 describeBy()分组计算概述统计量

library(Hmisc)

myvars <- c("mpg", "hp", "wt") 

describeBy(mtcars[myvars],  list(am=mtcars$am)) #中间必须有空格

结果如下:

R语言·基本统计分析(2)_第2张图片
分组描述结果



好了,我的小伙伴们,今天就先到这儿吧,下期见!O(∩_∩)O哈哈~

你可能感兴趣的:(R语言·基本统计分析(2))