编辑:用户Arg0naut回答了这个问题。谢谢!
我有许多以组(命名为2-4)和亚组(命名为1-6)组织的观察结果。我想将一个组中的每个观察值除以其子组1的平均值(为了将组中的每个数据点标准化为其子组1的平均值)。另外,一些观察结果是Na。
这是我尝试调整的代码,到目前为止,它将每个观察结果划分为总体平均值:
data %>%
group_by(Group) %>%
mutate("New Variable" = Observation / mean(Observation, na.rm = TRUE))
我不知道如何表明我不想要总体平均值,而是每个组的子组1的平均值。我已经尝试了几个小时,但是要继续失败。
我附上了一张图片,可以帮助您理解我的意思。
谢谢您的考虑!
图像
我认为您需要的只是 subgroup 而不是 group 。这是一个示例:
data <-
data.frame(
"Group" = rep(2, 15),
"Subgroup" = rep (1:2, c(10, 5)),
"Observation" = c(rnorm(14), NA)
)
data %>%
group_by(Subgroup) %>%
mutate("New variable" = Observation / mean(Observation, na.rm = TRUE))