У меня есть фрейм данных в R, для которого я хочу удалить определенные строки при условии, что они соответствуют определенным условиям.Как я могу это сделать?
Я пытался использовать dplyr
и ifelse
, но мой код не дает правильного ответа
check8 <- distinct(df5,prod,.keep_all = TRUE)
Не работает!дает полный набор данных
Ввод:
check1 <- data.frame(ID = c(1,1,2,2,2,3,4),
prod = c("R","T","R","T",NA,"T","R"),
bad = c(0,0,0,1,0,1,0))
# ID prod bad
# 1 1 R 0
# 2 1 T 0
# 3 2 R 0
# 4 2 T 1
# 5 2 <NA> 0
# 6 3 T 1
# 7 4 R 0
Ожидаемый вывод:
data.frame(ID = c(1,2,3,4),
prod = c("R","R","T","R"),
bad = c(0,0,1,0))
# ID prod bad
# 1 1 R 0
# 2 2 R 0
# 3 3 T 1
# 4 4 R 0
Я хочу получить вывод, такой что для идентификаторов, где оба продукта или NA
есть, оставьте только строки с продуктом R
, но если там только один продукт, сохраните этот ряд, несмотря на продукт.