R语言笔记 分组计算描述性统计量aggregate, summaryBy ,describe.by
更新:HHH   时间:2023-1-7


 

在比较多组个体或观测时,关注的焦点经常是各组的描述性统计信息,而不是样本整体的描

述性统计信息。同样地,在R中完成这个任务有若干种方法。我们将以获取变速箱类型各水平的

描述性统计量开始。

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

> aggregate(mtcars[vars],by=list(am=mtcars$am),median)

  am  mpg  hp   wt

1  0 17.3 175 3.52

2  1 22.8 109 2.32

注意list(am=mtcars$am)的使用。如果使用的是list(mtcars$am),则am列将被标注为

Group.1而不是am。你使用这个赋值指定了一个更有帮助的列标签。如果有多个分组变量,可以

使用by=list(name1=groupvar1, name2=groupvar2, ... , groupvarN)这样的语句。



> aggregate(mtcars[vars],by=list(am=mtcars$am,gear=mtcars$gear),median)

  am gear   mpg    hp    wt

1  0    3 15.50 180.0 3.730

2  0    4 21.00 109.0 3.315

3  1    4 25.05  79.5 2.260

4  1    5 19.70 175.0 2.770

------------------------------------------------

doBy包和psych包也提供了分组计算描述性统计量的函数。同样地,它们未随基本安装发布,

必须在首次使用前进行安装。doBy包中summaryBy()函数的使用格式为



> summaryBy(mpg+hp+wt~am,data=mtcars,FUN=mtstat)

  am mpg.n mpg.mean mpg.stdev mpg.skew mpg.kurtosis hp.n  hp.mean hp.stdev   hp.skew hp.kurtosis wt.n wt.mean  wt.stdev   wt.skew wt.kurtosis

1  0    32 20.09062  6.026948 0.610655    -0.372766   32 146.6875 68.56287 0.7260237  -0.1355511   32 3.21725 0.9784574 0.4231465 -0.02271075

>

> describe.by(mtcars[vars],mtcars$am)

group: 0

    vars  n   mean    sd median trimmed   mad   min    max  range skew kurtosis    se

mpg    1 32  20.09  6.03  19.20   19.70  5.41 10.40  33.90  23.50 0.61    -0.37  1.07

hp     2 32 146.69 68.56 123.00  141.19 77.10 52.00 335.00 283.00 0.73    -0.14 12.12

wt     3 32   3.22  0.98   3.33    3.15  0.77  1.51   5.42   3.91 0.42    -0.02  0.17


------------------------------------------------------------------------------

的reshape包灵活地按组导出描述性统计量

dfs <- melt(mtcars,measure.vars=c("mpg","hp","wt"),id.vars=c("am","cyl"))

> cast(dfs,am+cyl+variable~.,dstats)

  am cyl variable  n       mean         sd

1  0   4      mpg 11  26.663636  4.5098277

2  0   4       hp 11  82.636364 20.9345300

3  0   4       wt 11   2.285727  0.5695637

4  0   6      mpg  7  19.742857  1.4535670

5  0   6       hp  7 122.285714 24.2604911

6  0   6       wt  7   3.117143  0.3563455

7  0   8      mpg 14  15.100000  2.5600481

8  0   8       hp 14 209.214286 50.9768855

9  0   8       wt 14   3.×××14  0.7594047


返回编程语言教程...