【问题标题】:R - Compute a summary column [duplicate]R - 计算汇总列[重复]
【发布时间】:2016-10-02 08:07:24
【问题描述】:

我正在尝试在我的数据框中计算一个附加列,其中包含一些摘要数据(平均值、最小值、最大值)。从这个数据框开始

Group    Value
A        15       
A        5        
B        4        
B        2       
C        25      
C        15      

我想计算每个组的平均值:

Group    Mean
A        10
B        3
C        20

但我想在原始数据框中添加一列,重复同一组的每一行的值,如下所示:

Group    Value    Mean
A        15       10
A        5        10
B        4        3
B        2        3
C        25       20
C        15       20

我首先使用aggregate(创建一个临时数据框)和merge使用“Group”作为合并变量的临时数据框获得了这个结果。

我相信有一种更简单、更快捷的方法可以做到这一点。值得注意的是,如果可能的话,我希望能够使用基本功能(例如,没有 dplyr、reshape 等)来做到这一点。谢谢!

【问题讨论】:

    标签: r


    【解决方案1】:

    base R 中,这可以通过ave 轻松完成

    df$Mean <- with(df, ave(Value, Group))
    df
    #   Group Value Mean
    #1     A    15   10
    #2     A     5   10
    #3     B     4    3
    #4     B     2    3
    #5     C    25   20
    #6     C    15   20
    

    【讨论】:

      猜你喜欢
      • 2021-10-03
      • 1970-01-01
      • 1970-01-01
      • 2020-01-02
      • 2023-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多