我有一个数据帧,看起来如下:
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
我们可以使用mutate
而不是summarise
library(dplyr)
df <- df %>%
group_by(unit_id) %>%
mutate(mean = mean(outcome))