我想选择满足以下两个条件之一的组:1)含有a和b; 2)含有a和c。下面是数据集:
a
b
c
ff <- data.frame(id = c(1,1,2,2,3,3,4,4), value = c("a", "a", "a", "b", "a", "c", "b", "c"))
因此,选择的组应为2和3。如何以有效的方式实现这一点(我有一个更大的数据集)?
z4bn682m1#
您可以按建议的这两个条件进行分组和筛选
library dplyr ff <- data.frame(id = c(1, 1, 2, 2, 3, 3, 4, 4), value = c("a", "a", "a", "b", "a", "c", "b", "c")) ff %>% group_by(id) %>% filter(all(c("a", "b") %in% value) | all(c("a", "c") %in% value)) %>% distinct(id)
基本上,您的过滤器将检查组ID中的值中的所有a和b或a和c的示例。distinct从上面的筛选器代码中生成唯一的组
1条答案
按热度按时间z4bn682m1#
您可以按建议的这两个条件进行分组和筛选
基本上,您的过滤器将检查组ID中的值中的所有a和b或a和c的示例。
distinct从上面的筛选器代码中生成唯一的组