R 检查句子中是否有所有单词

R 检查句子中是否有所有单词,r,R,仅当变量“words”中的所有单词都出现在word\u check中时,我才尝试从words\u check获取输出 我正在尝试从word_check检索输出 我下面的代码没有返回任何值。请帮忙 words <- "battery on key issue" word_check <- c("battery on","key issue","battery on key issue") pr_wd <- word_check[all(strsplit(word_check,

仅当变量“words”中的所有单词都出现在word\u check中时,我才尝试从words\u check获取输出

我正在尝试从word_check检索输出

我下面的代码没有返回任何值。请帮忙

words <- "battery on key issue"

word_check <- c("battery on","key issue","battery on key issue")

pr_wd <- word_check[all(strsplit(word_check," ") %in% strsplit(words," "))] 


我认为这是可行的,但是如果有几个其他的例子可以测试,那就太好了

word_check[unlist(Map(strsplit(words," "), strsplit(word_check," "), f = function(x, y) all(x %in% y)))]
#[1] "battery on key issue"

将代码一点一点地分解。根据
word\u check
中的所有单词是否都在
words
中,您正在对
words\u check
进行子集设置<代码>strsplit(单词检查“”)%strsplit(单词“”)计算结果为false、false、true。对其调用
all
,结果显然为false。使用
word\u check[FALSE]
进行子集设置将得到一个空向量
word_check[unlist(Map(strsplit(words," "), strsplit(word_check," "), f = function(x, y) all(x %in% y)))]
#[1] "battery on key issue"