[英]R: How to filter with two conditions of One column?
例如,我有三列-ID列,访问列,药物列。 药物专栏的字符值为A,B,C和D.问题是每个ID只有A或B或C或D或A和B的组合。
ID Visit Drug
1 1 A
1 2 B
1 3 A
2 1 B
2 2 B
3 1 C
3 2 C
因此,如果我想过滤只有药物B的ID(它不能同时具有A和B),我该如何过滤? 从上面,我只想要ID 2但不是ID 1,因为ID 1同时具有A和B.
我试过这段代码,但它给了我错误的结果
df %>%
group_by(id) %>%
filter(drug == "B" | drug != "A" & drug != "B" )
任何帮助将不胜感激!!
在这种情况下,你应该给整个条件Drug
载体,与all
在以下几点:
df %>% group_by(ID) %>% filter(all(Drug == "B"))
# A tibble: 2 x 3
# Groups: ID [1]
# ID Visit Drug
# <int> <int> <fct>
# 1 2 1 B
# 2 2 2 B
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.