【发布时间】:2016-05-18 06:05:47
【问题描述】:
我在 R 中使用 dplyr 包,并将我的数据按 3 个变量(年份、站点、育雏)分组。
我想摆脱由少于 3 行组成的组。例如,在下面的示例中,我想删除 brood '2' 的行。我有很多数据可以做到这一点,所以虽然我可以煞费苦心地手工完成,但使用 R 自动化它会很有帮助。
Year Site Brood Parents
1996 A 1 1
1996 A 1 1
1996 A 1 0
1996 A 1 0
1996 A 2 1
1996 A 2 0
1996 A 3 1
1996 A 3 1
1996 A 3 1
1996 A 3 0
1996 A 3 1
我希望这是有道理的,并提前非常感谢您的帮助!我是 R 和 stackoverflow 的新手,如果我对这个问题的措辞不是很好,我深表歉意!如果我需要提供任何其他信息,请告诉我。
【问题讨论】:
-
dplyr 有必要吗?还是 base-R 或 data.table 中的解决方案也合适?
-
@Heroka
data %>% group_by(Year, Site, Brood) %>% filter(n() >= 3)你为什么不使用 dplyr? ;) -
@Mullefa 因为还有其他选择,而且我个人更喜欢 data.table 和 base-R。但我知道偏好可能因人而异:P
-
@Heroka 我确信其他方法是完全合适的!就像我说我是一个菜鸟,我只是使用 dplyr 比 base-R/data.table 更多:P