我有一个数据框.我想仅在与特定组关联的情况下过滤掉一些问题.
对于一个虚拟示例,假设我有以下内容:
> mydf
Group Issue
1 A G
2 A H
3 A L
4 B V
5 B M
6 C G
7 C H
8 C L
9 C X
10 D G
11 D H
12 D I
Run Code Online (Sandbox Code Playgroud)
如果该组中还存在"L"问题,我想过滤出带有"G"或"H"或"L"问题的行.
所以在这种情况下,我想过滤出行1,2,3,6,7,8但是留下行4,5,9,10,11和12.因此结果将是:
> mydf
Group Issue
4 B V
5 B M
9 C X
10 D G
11 D H
12 D I
Run Code Online (Sandbox Code Playgroud)
我想我首先需要,group_by(Group)但后来我想知道最好的方法是什么.
谢谢!
如果规则是
当一个组包含L时,丢弃L,G和H.
然后
mydf %>%
group_by(Group) %>%
filter( if (any(Issue=="L")) !(Issue %in% c("G","H","L")) else TRUE )
# Group Issue
# 1 B V
# 2 B M
# 3 C X
# 4 D G
# 5 D H
# 6 D I
Run Code Online (Sandbox Code Playgroud)