R 检查句子中是否有单词
我的数据框中有一列包含如下句子:R 检查句子中是否有单词,r,R,我的数据框中有一列包含如下句子: c("Animation", "Comedy", "Family") 如何检查句子中是否有“动画”等特殊单词?创建数据供我们使用: somedat <- c("Animation", "Comedy", "Family", "Animation2") 如果要获取位于列中的单词(或行号)的索引,请执行以下操作: grep(pattern="Animation", somedat) # returns 1 4 如果您希望将单词返回给您: grep(pat
c("Animation", "Comedy", "Family")
如何检查句子中是否有“动画”等特殊单词?创建数据供我们使用:
somedat <- c("Animation", "Comedy", "Family", "Animation2")
如果要获取位于列中的单词(或行号)的索引,请执行以下操作:
grep(pattern="Animation", somedat)
# returns 1 4
如果您希望将单词返回给您:
grep(pattern="Animation", somedat, value=T)
# returns [1] "Animation" "Animation2"
grep
和%中的%将在向量中找到字符串的实例。我知道前者支持正则表达式,但不确定后者是否支持%语句中的动画。这给出了一个逻辑向量。类似于grep(paste0(c(“动画”、“喜剧”、“家庭”),collapse=“|”),的精确匹配也可以通过grep(pattern=“\\bAnimation\\b”,somedat)
获得。顺便提一下,问题是在一个句子中找到几个词,而不是一个词在一个词的向量中。你是对的,如果你喜欢,你也可以使用正则表达式匹配。我最初也这么想,但后来重新阅读OP的问题,他说得非常具体:我的数据框中有一列包含如下句子:c(“动画”、“喜剧”、“家庭”)
,因此我必须调整我先前的假设,并给他最有可能对OP有用的内容
grep(pattern="Animation", somedat, value=T)
# returns [1] "Animation" "Animation2"