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

时间:2015-07-28 21:52:37

标签: r dplyr

我有以下数据框:

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)但我不知道在过滤器子集中放置什么代码。

1 个答案:

答案 0 :(得分:0)

怎么样

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

所以基本上删除数据框中与所有组中都没有出现的ID相对应的所有行,然后执行计算。