根据R中另一列中的值计算每列的平均值

时间:2017-07-12 21:56:25

标签: r dataframe

使用内置的数据帧mtcars,假设我想根据“碳水化合物”列中的值计算每列的平均值。我该怎么做?

1 个答案:

答案 0 :(得分:1)

您正在寻找aggregate功能。很好地解释了in this previous post

对于mtcars,对于所有其他列,这将是这样的:

aggregate(. ~ carb, mtcars, mean)
  carb      mpg      cyl     disp    hp     drat     wt     qsec  vs        am     gear
1    1 25.34286 4.571429 134.2714  86.0 3.681429 2.4900 19.50714 1.0 0.5714286 3.571429
2    2 22.40000 5.600000 208.1600 117.2 3.699000 2.8628 18.18600 0.5 0.4000000 3.800000
3    3 16.30000 8.000000 275.8000 180.0 3.070000 3.8600 17.66667 0.0 0.0000000 3.000000
4    4 15.79000 7.200000 308.8200 187.0 3.596000 3.8974 16.96500 0.2 0.3000000 3.600000
5    6 19.70000 6.000000 145.0000 175.0 3.620000 2.7700 15.50000 0.0 1.0000000 5.000000
6    8 15.00000 8.000000 301.0000 335.0 3.540000 3.5700 14.60000 0.0 1.0000000 5.000000

或者仅对一次特定列(例如 mpg )这样:

> aggregate(mpg ~ carb, mtcars, mean)
carb      mpg
1    1 25.34286
2    2 22.40000
3    3 16.30000
4    4 15.79000
5    6 19.70000
6    8 15.00000

编辑:总结与意思混淆了,对不起。将其更正为。