Eu tenho um quadro de dados. Quero filtrar alguns problemas apenas no caso de estarem associados a um grupo específico.
Para um exemplo fictício, suponha que eu tenha o seguinte:
> 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
Desejo filtrar as linhas com um problema "G" ou "H" ou "L" se também houver um problema "L" nesse Grupo.
Portanto, neste caso, quero filtrar as linhas 1, 2, 3, 6,7,8, mas deixar as linhas 4,5,9, 10,11 e 12. Assim, o resultado seria:
> mydf
Group Issue
4 B V
5 B M
9 C X
10 D G
11 D H
12 D I
Acho que primeiro preciso, group_by(Group)
mas depois fico imaginando qual é a melhor maneira de fazer isso.
Obrigado!
Se a regra for
Quando um grupo contém L, elimine L, G e H.
então
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
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras