如何从数据框中删除包含我在字符串向量中指定的任何值的所有行?我尝试过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
答案 0 :(得分:2)
我们可以paste
删除&#39;中的元素。以|
分隔的单个字符串(表示OR
)并在pattern
中将其作为grepl
提供给&#39;文本&#39;列,取消逻辑向量,然后对&#39;示例
example[!grepl(paste(remove, collapse="|"), example$text),]
# number text
#2 2 Second text
#3 3 Another text here
#5 5 Last text