【发布时间】:2015-07-28 21:52:36
【问题描述】:
我有以下数据框:
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),但我不知道在过滤器子集中放置什么代码。
【问题讨论】:
-
您知道数据集中唯一 ID 的总数吗?这可以很简单,例如,在您按
group分组后,filter(n_distinct(id) == 3)。