R dplyr:如何删除较小的组?

jus*_*kie 4 r dplyr

我想删除较小的组dplyr.例如,数据帧:

ID group value
1    1     6
2    1     2
3    2     0
4    2     5
5    2     3
6    3     7
7    3     1
8    4     3
9    4     7
10   4     5
Run Code Online (Sandbox Code Playgroud)

组1,组2,组3和组4的组大小分别为2,3,2和3,我想删除组1和组3,因为它们的大小小于3.提前谢谢!

Psi*_*dom 9

您可以使用n()获取每个组的行数,并对其进行过滤,看看?n(),最后一个关于n()is filtering 的使用的示例,基于组的大小:

df %>% group_by(group) %>% filter(n() >= 3)

# Source: local data frame [6 x 3]
# Groups: group [2]

#      ID group value
#   <int> <int> <int>
# 1     3     2     0
# 2     4     2     5
# 3     5     2     3
# 4     8     4     3
# 5     9     4     7
# 6    10     4     5
Run Code Online (Sandbox Code Playgroud)