【问题标题】:Create new column for mean by group in original dataframe in R [duplicate]在R中的原始数据框中为按组的平均值创建新列[重复]
【发布时间】:2021-01-21 23:33:06
【问题描述】:

我有一个如下所示的数据框:

unit_id  outcome
1        3
1        5
1        4
2        1
2        2
2        3

我知道如何计算每个 unit_id 的平均值。

df <- df %>%
  group_by(unit_id) %>%
  summarise(mean = mean(outcome))

这会产生:

unit_id  mean 
1        4
2        2

我正在尝试找出一种方法来获取每个 unit_id 的平均值并将其包含在原始数据框中。我希望输出如下所示。

unit_id  outcome  mean
1        3        4
1        5        4
1        4        4
2        1        2
2        2        2
2        3        2

【问题讨论】:

    标签: r dplyr group-by average tidyverse


    【解决方案1】:

    我们可以用mutate代替summarise

    library(dplyr)
    df <- df %>%
            group_by(unit_id) %>%
            mutate(mean = mean(outcome))
    

    【讨论】:

      猜你喜欢
      • 2020-04-09
      • 2020-07-12
      • 1970-01-01
      • 2016-12-09
      • 2011-12-20
      • 2021-08-12
      • 1970-01-01
      • 2020-02-15
      • 2021-06-28
      相关资源
      最近更新 更多