dplyr:将所有值除以第一个亚组的平均值

  • 本文关键字:第一个 平均值 dplyr r
  • 更新时间 :
  • 英文 :


编辑:用户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))

相关内容

最新更新