aggregate函数的计算是怎么算的

yyycy |浏览581次
收藏|2017/11/28 16:27

aggregate(mtcars, by=list(cyl, gear), FUN=mean)

这个分组的cyl=4,gear=3把部分的mpg均值与

d1=subset(mtcars,cyl==4&gear==3),mean(d1$mpg)算出来的不一样啊


满意回答

2017/11/28 21:36

结果是一样的呃

> aggregate(.~cyl+gear,data=mtcars,mean)

  cyl gear    mpg     disp       hp     drat       wt    qsec  vs   am     carb

1   4    3 21.500 120.1000  97.0000 3.700000 2.465000 20.0100 1.0 0.00 1.000000

2   6    3 19.750 241.5000 107.5000 2.920000 3.337500 19.8300 1.0 0.00 1.000000

3   8    3 15.050 357.6167 194.1667 3.120833 4.104083 17.1425 0.0 0.00 3.083333

4   4    4 26.925 102.6250  76.0000 4.110000 2.378125 19.6125 1.0 0.75 1.500000

5   6    4 19.750 163.8000 116.5000 3.910000 3.093750 17.6700 0.5 0.50 4.000000

6   4    5 28.200 107.7000 102.0000 4.100000 1.826500 16.8000 0.5 1.00 2.000000

7   6    5 19.700 145.0000 175.0000 3.620000 2.770000 15.5000 0.0 1.00 6.000000

8   8    5 15.400 326.0000 299.5000 3.880000 3.370000 14.5500 0.0 1.00 6.000000

> mean(subset(mtcars,cyl==4&gear==3)$mpg)

[1] 21.5


追问:2017/11/28 20:39

aggregate(mtcars, by=list(cyl, gear), FUN=mean)

  Group.1 Group.2      mpg      cyl     disp       hp   drat       wt     qsec   vs

1       4       3 16.40000 8.000000 275.8000 180.0000 3.0700 4.070000 17.40000 0.00

2       6       3 33.15000 4.000000  74.9000  65.5000 4.1500 2.017500 19.68500 1.00

3       8       3 18.64167 6.333333 234.8000 134.1667 3.5150 3.442833 18.35583 0.50

4       4       4 19.81250 6.250000 243.2625 176.5000 3.6475 3.240000 17.36000 0.25

5       6       4 24.75000 4.000000 117.7000  94.2500 3.8550 2.450750 18.52750 1.00

6       4       5 15.35000 8.000000 311.0000 150.0000 2.9550 3.477500 17.08500 0.00

7       6       5 19.20000 8.000000 400.0000 175.0000 3.0800 3.845000 17.05000 0.00

8       8       5 14.55000 8.000000 350.5000 254.5000 3.9750 3.505000 14.95500 0.00

    am     gear     carb

1 0.00 3.000000 3.000000

2 1.00 4.000000 1.000000

3 0.25 3.416667 2.916667

4 0.50 4.000000 3.625000

5 0.75 4.250000 1.750000

6 0.00 3.000000 2.000000

7 0.00 3.000000 2.000000

8 0.50 4.000000 4.000000

我用这个命令求出来是这个,aggregate的第一个参数要是公式型吗

jiangbeilu

其他回答(0)    我来补答
  • 结果是一样的呃

    > aggregate(.~cyl+gear,data=mtcars,mean)

      cyl gear    mpg     disp       hp     drat       wt    qsec  vs   am     carb

    1   4    3 21.500 120.1000  97.0000 3.700000 2.465000 20.0100 1.0 0.00 1.000000

    2   6    3 19.750 241.5000 107.5000 2.920000 3.337500 19.8300 1.0 0.00 1.000000

    3   8    3 15.050 357.6167 194.1667 3.120833 4.104083 17.1425 0.0 0.00 3.083333

    4   4    4 26.925 102.6250  76.0000 4.110000 2.378125 19.6125 1.0 0.75 1.500000

    5   6    4 19.750 163.8000 116.5000 3.910000 3.093750 17.6700 0.5 0.50 4.000000

    6   4    5 28.200 107.7000 102.0000 4.100000 1.826500 16.8000 0.5 1.00 2.000000

    7   6    5 19.700 145.0000 175.0000 3.620000 2.770000 15.5000 0.0 1.00 6.000000

    8   8    5 15.400 326.0000 299.5000 3.880000 3.370000 14.5500 0.0 1.00 6.000000

    > mean(subset(mtcars,cyl==4&gear==3)$mpg)

    [1] 21.5


    追问:2017/11/28 20:39

    aggregate(mtcars, by=list(cyl, gear), FUN=mean)

      Group.1 Group.2      mpg      cyl     disp       hp   drat       wt     qsec   vs

    1       4       3 16.40000 8.000000 275.8000 180.0000 3.0700 4.070000 17.40000 0.00

    2       6       3 33.15000 4.000000  74.9000  65.5000 4.1500 2.017500 19.68500 1.00

    3       8       3 18.64167 6.333333 234.8000 134.1667 3.5150 3.442833 18.35583 0.50

    4       4       4 19.81250 6.250000 243.2625 176.5000 3.6475 3.240000 17.36000 0.25

    5       6       4 24.75000 4.000000 117.7000  94.2500 3.8550 2.450750 18.52750 1.00

    6       4       5 15.35000 8.000000 311.0000 150.0000 2.9550 3.477500 17.08500 0.00

    7       6       5 19.20000 8.000000 400.0000 175.0000 3.0800 3.845000 17.05000 0.00

    8       8       5 14.55000 8.000000 350.5000 254.5000 3.9750 3.505000 14.95500 0.00

        am     gear     carb

    1 0.00 3.000000 3.000000

    2 1.00 4.000000 1.000000

    3 0.25 3.416667 2.916667

    4 0.50 4.000000 3.625000

    5 0.75 4.250000 1.750000

    6 0.00 3.000000 2.000000

    7 0.00 3.000000 2.000000

    8 0.50 4.000000 4.000000

    我用这个命令求出来是这个,aggregate的第一个参数要是公式型吗

    回答于 2017/11/28 16:48
1人关注该问题
+1
 加载中...