如何根据各行的条件选择组,例如筛选包含值4(或任何其他条件)的所有组。按值的出现过滤组
让我们以一个非常简单的数据,有两个组,我要选择组乙(如具有的值4)
library(dplyr)
df <- data.frame(Group=LETTERS[c(1,1,1,2,2,2)], Value=c(1:5,4))
> df
Group Value
1 A 1
2 A 2
3 B 3
4 B 4
做group_by()
然后filter
(如this post)将只选择包含值4,而不是整个集团各行:
df %>%
group_by(Group) %>%
filter(Value==4)
Group Value
<fctr> <int>
1 B 4
在基R,'DF [((df,ave(Value == 4,Group,FUN = any)),]' –