我有以下数据框:
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)
但我不知道在过滤器子集中放置什么代码。
答案 0 :(得分:0)
怎么样
df %>%
group_by(id) %>%
mutate(count = n()) %>%
filter(count != ngroups) %>% #...
所以基本上删除数据框中与所有组中都没有出现的ID相对应的所有行,然后执行计算。