R字数 - 匹配另一个字符串中一个字符串的所有组合

时间:2016-05-31 00:15:36

标签: r

我正在尝试计算匹配/模糊匹配第一个字符串列到数据框中第二个字符串列的所有组合

例如:
string1 =“美国加拿大英国澳大利亚日本印度” string2 =“USA Canada India UK Australia China Brazil France”

预期结果

  • 单字匹配计数= 5(美国加拿大英国澳大利亚印度)匹配

  • 两个单词匹配计数= 2(美国加拿大,英国澳大利亚)连续的单词匹配

  • 三个字匹配计数= 0

  • 四字匹配计数= 0

  • 五个字匹配计数= 0

  • 六字匹配计数= 0

  • 总计= 5 + 2 = 7

感谢您的时间,非常有人可以帮助编写此功能或指向我使用任何现有的包

1 个答案:

答案 0 :(得分:0)

这段代码可以解决问题:

string1 <- "USA Canada UK Australia Japan India" 
string2 <- "USA Canada India UK Australia China Brazil France"

str1 <- unlist(strsplit(string1, " "))

library(ngram)
for(i in 1:length(str1)){
  ng1 <- ngram_asweka(string1, min = i, max = i, sep = " ")
  ng2 <- ngram_asweka(string2, min = i, max = i, sep = " ")
  print(paste(i, "word match count", length(which(ng1 %in% ng2)), sep=" "))
}