在 R 中的原始数据框中按组创建新列
Create new column for mean by group in original dataframe in R
我有一个如下所示的数据框:
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))
我有一个如下所示的数据框:
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))