繁体   English   中英

R:如何使用One Column的两个条件进行过滤?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM