长数据框中具有公共值的子集列

subset columns with common values in long data frame

我有以下数据框:

Group 1 ID A    Value
Group 1 ID B    Value
Group 1 ID C    Value
Group 2 ID B    Value
Group 2 ID C    Value
Group 3 ID B    Value
…   …   …

我正在尝试使用 dplyr 获取跨组中每个相同 ID 的平均值(例如,跨组 1、组 2 和组 3 的 ID B 值的平均值)。但是,并非每个组都具有所有 ID,因此我想进行子集化,以便只计算所有组中的 ID。我知道我可以 group_by(dataFrame, group) %>% filter subset %>% group_by(id) %>% mutate(mean) 但我不知道在过滤器子集中放置什么代码。

怎么样

df %>%
  group_by(id) %>%
  mutate(count  = n()) %>%
  filter(count != ngroups) %>% #...

因此,基本上删除数据框中与未出现在所有组中的 ID 对应的所有行,然后执行计算。