Удаление нескольких строк на основе значения в одной строке с помощью dplyr - PullRequest
0 голосов
/ 16 мая 2018

Удаление нескольких строк на основе значения в одной строке с помощью dplyr

Допустим, у меня есть такой набор данных

Pet   Day       Bite
Cow   Monday    No  
Cow   Tuesday   No  
Cow   Wednesday No  
Dog   Monday    No  
Dog   Tuesday   No  
Dog   Wednesday No  
Tiger Monday    No  
Tiger Tuesday   Yes  
Tiger Wednesday No 

Я хочу создать новый набор данных, который устраняет всех домашних животных, которые кусаются. Мой набор данных должен быть

Pet   Day       Bite
Cow   Monday    No  
Cow   Tuesday   No  
Cow   Wednesday No  
Dog   Monday    No  
Dog   Tuesday   No  
Dog   Wednesday No

Как я могу сделать это с помощью dplyr?

1 Ответ

0 голосов
/ 16 мая 2018

Проверьте filter ссылка здесь

Может сделать это только с filter и any.Вы group_by домашнее животное, и если любой из них будет кусаться, он отфильтрует всю категорию домашних животных.

library(dplyr)
df %>% group_by(Pet) %>% filter(!any(Bite == "Yes"))
# A tibble: 6 x 3
# Groups: Pet [2]
#  Pet   Day       Bite 
#  <fct> <fct>     <fct>
#1 Cow   Monday    No   
#2 Cow   Tuesday   No   
#3 Cow   Wednesday No   
#4 Dog   Monday    No   
#5 Dog   Tuesday   No   
#6 Dog   Wednesday No   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...