【问题标题】:calculate average of each column based on values in another column in R根据 R 中另一列中的值计算每列的平均值
【发布时间】:2017-07-12 21:56:24
【问题描述】:

使用内置数据框 mtcars,假设我想根据“carb”列中的值计算每列的平均值。我该怎么做?

【问题讨论】:

标签: r dataframe


【解决方案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

编辑:总和与平均值混为一谈,抱歉。更正它的意思。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-18
    • 2017-12-04
    • 2014-03-15
    • 1970-01-01
    • 2022-01-23
    • 2022-11-19
    • 2020-04-02
    相关资源
    最近更新 更多