【发布时间】:2015-05-22 15:34:10
【问题描述】:
我有一个字符向量
var1 <- c("pine tree", "forest", "fruits", "water")
还有一个列表
var2 <- list(c("tree", "house", "star"), c("house", "tree", "dense forest"), c("apple", "orange", "grapes"))
我想将 var1 中的单词与 var2 中的单词进行匹配,并根据匹配的单词数对列表元素进行排名。例如,
[[2]]
[1] "house" "tree" "dense forest"
与 var1 有 2 个匹配项
[[1]]
[1] "tree" "house" "star"
与 var1 有 1 个匹配项
[[3]]
[1] "apple" "orange" "grapes"
与 var1 有 0 个匹配项
所需的输出是以下等级:
[1] "house" "tree" "dense forest"
[2] "tree" "house" "star"
[3] "apple" "orange" "grapes"
我试过了
sapply(var1, grep, var2, ignore.case=T, value=T)
没有得到想要的输出。
如何解决?代码 sn-p 将不胜感激。 谢谢。
编辑:
如上所述,问题已从单个单词匹配编辑为短语中的单词匹配。
【问题讨论】:
标签: r list string-matching