分組計(jì)算描述性統(tǒng)計(jì)量
來看一個(gè)栗子?
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) #標(biāo)準(zhǔn)差
? am? ? ? mpg? ? ? hp? ? ? ? wt
1? 0 3.833966 53.90820 0.7774001
2? 1 6.166504 84.06232 0.6169816
#上述的描述了以am分組標(biāo)簽膨桥,對(duì)數(shù)據(jù)框的mpg,hp及wt進(jìn)行了均值mea和標(biāo)準(zhǔn)差sd的描述,但是很遺憾某残,aggregate()函數(shù)每次只能單一調(diào)用和返回相關(guān)的統(tǒng)計(jì)量国撵,所有
#我們需要借助于by()函數(shù)來解決這個(gè)問題,格式為:
#by(data,indices,fun)玻墅,其中data為數(shù)據(jù)框或者矩陣介牙,indices是一個(gè)因子或者因子組成的列表,fun是任意函數(shù)澳厢。
再來看一個(gè)栗子
?dstats<-function(x) sapply(x,mystats)? #定義函數(shù)环础,調(diào)用函數(shù)
?myvars<-c("mpg","hp","wt")
?by(mtcars[myvars],mtcars$am,dstats)? #by()函數(shù)
結(jié)果如下圖:
引用phych包中的 describeBy()分組計(jì)算概述統(tǒng)計(jì)量
library(Hmisc)
myvars <- c("mpg", "hp", "wt")?
describeBy(mtcars[myvars],? list(am=mtcars$am)) #中間必須有空格
結(jié)果如下:
好了,我的小伙伴們剩拢,今天就先到這兒吧线得,下期見!O(∩_∩)O哈哈~