我们说我有一个专栏名称'在数据框df
中:
apple
apple123
app
be
aple
并且,我想检查name
列中的每一行是否包含单词apple
。
我这样做的方法是使用grepl
,grepl('apple',df$name)
,我希望它会返回'TRUE','TRUE','FALSE','FALSE','FALSE'
,但是,它会返回5 'FALSE'
。
我在这里做错了,如果不是grep
l,我应该使用什么功能?
答案 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))