如果列中包含子字符串,则如何检入列中的每一行

时间:2014-04-24 15:27:36

标签: r grepl

我们说我有一个专栏名称'在数据框df中:

apple
apple123
app
be
aple

并且,我想检查name列中的每一行是否包含单词apple。 我这样做的方法是使用greplgrepl('apple',df$name),我希望它会返回'TRUE','TRUE','FALSE','FALSE','FALSE',但是,它会返回5 'FALSE'

我在这里做错了,如果不是grep l,我应该使用什么功能?

1 个答案:

答案 0 :(得分:2)

我运行得很好

dat <- c('apple', 'apple123', 'app', 'be', 'aple')
grepl('apple', dat)
[1]  TRUE  TRUE FALSE FALSE FALSE
dat[grepl('apple', dat)]
[1] "apple"    "apple123"

这与data.frame

完全相同
dat <- data.frame(v=c('apple', 'apple123', 'app', 'be', 'aple'))
grepl('apple', dat$v)
[1]  TRUE  TRUE FALSE FALSE FALSE

如果你这样做是相同的

with(dat, grepl('apple', v))