使用r库stringdist进行文本挖掘

时间:2017-09-07 21:37:55

标签: r stringdist

我准备了下一个匹配两个字符串的算法。

library(stringdist)

qgrams('perimetrico','perimetrico peri',q=2)

   pe ri tr er im me o  et ic co  p
V1  1  2  1  1  1  1  0  1  1  1  0
V2  2  3  1  2  1  1  1  1  1  1  1

就我而言,这是计算货币数量的正式实施。

stringdist('perimetrico','perimetrico peri', method='qgram', q=2)

5

但我对这个解决方案不满意。这就是为什么我想要计算第一个结果,如下面的方式:

pe=1
ri=1
tr=1
er=1
im=1
me=1
o=0
et=1
ic=1
co=1
p=0

因此,最终结果将是9/11 = 82%匹配

1 个答案:

答案 0 :(得分:3)

使用apply(对于每一行)计算出现次数为0并从1中减去该数字。

library(stringdist)
foo <- qgrams('perimetrico','perimetrico peri',q=2)
apply(foo, 1, function(x) 1 - mean(x == 0))

       V1        V2 
0.8181818 1.0000000 

或者您可以舍入(0.82)并乘以100(82%)

apply(a, 1, function(x) round(1 - mean(x == 0), 2) * 100)

 V1  V2 
 82 100