Я пытаюсь создать фильтр для удаления строк из набора данных, используя вместе grep и subset вместе.Множественный фильтр с использованием grep и подмножества в R
Пример набора данных:
id <- 1:10
problem <- c("a" , "b", "c", "d", "a","b","c","a", "b", "a")
solution1 <- c("eat", "sleep", "drink", "play", "sleep", "play", "play", "drink", "play", "eat")
solution2 <- c("read", "read", "eat", "drink", "eat", "sleep", "eat", "read", "eat", "play")
df <- c(id, problem, solution1, solution2)
Я пытаюсь удалить эти строки с проблемой «а» и есть «съесть» в любом solution1 или solution2.
В результате он должен удалить идентификатор 1, 5 и 10.
Я попытался с помощью:
df <- subset(df, problem=="a" & !(grepl("eat", df)))
и
df <- df[!grepl("eat", df) & grepl("a", df$problem)]
Не могу найти аналогичный решение на StackOverflow или на других сайтах I Googled.
Буду признателен, если кто-нибудь может помочь. Благодаря!
Нет проблем. Не забудьте принять любой ответ, который вы принимаете! :) –
ОК спасибо. сделаю .. впервые используя это. но тот же вопрос на другом плакате, решение хорошо работает на этих образцах данных, но когда я применяю его к моему считываемому набору данных, ваше решение дает мне этот результат: Ошибка: неожиданный ',' in: "(grepl (" Digoxin " , данные $ Med_7_Name | grepl («Дигоксин», данные $ Med_8_Name))), «Дигоксин должен быть похож на eat и Med_7_Name - это решение1. Есть ли что-то, о чем я должен знать? –
Закрывающая скобка отсутствует после данных $ Med_7_Name –