Удалить все строки, содержащие определенные значения из строки

Как удалить все строки из фрейма данных, содержащие любые значения, которые я присваиваю в строковом векторе? Я пробовал grepl, но, кажется, это работает только в том случае, если речь идет об одном слове.

number <- c(1:5)
text <- c("First text","Second text","Another text here","Yet another one","Last text")
example <- as.data.frame(cbind(number,text))

  number              text
1      1        First text
2      2       Second text
3      3 Another text here
4      4   Yet another one
5      5         Last text

Не работает:

remove <- c("First","Yet")
example[!grepl(remove,example$text),]

Желаемый результат:

 number              text
1      2       Second text
2      3 Another text here
3      5         Last text

person Community    schedule 12.04.2016    source источник
comment
@Jaap этот вопрос дублирует какой другой вопрос? Пожалуйста, дайте ссылку   -  person abhishah901    schedule 24.11.2018
comment
@abhishah901 см. начало вопроса .....   -  person Jaap    schedule 25.11.2018


Ответы (1)


Мы можем paste элементы в 'удалить' в одну строку, разделенную | (что означает OR), и передать ее как pattern в grepl для столбца "текст", инвертировать логический вектор, а затем подмножить строки "пример

 example[!grepl(paste(remove, collapse="|"), example$text),]
 # number              text
 #2      2       Second text
 #3      3 Another text here
 #5      5         Last text
person akrun    schedule 12.04.2016
comment
Работает отлично. Спасибо! - person ; 12.04.2016