在 stringdist 中使用 stringsim

Using stringsim in stringdist

我正在使用包 stringdist 来比较一些字符串向量,但是当我尝试测试包时,我得到的答案与我认为应该得到的答案不同。

我想这样做:

stringsim('PANDIAN', 'PANIAN', method="lv")
[1] 0.8571429

数据框中的 2 列

stringsim(testdf.lv$Last[1], testdf.lv$matchedname[1], method="lv")

但是我得到这个错误:

Error in UseMethod("lengths") : 
  no applicable method for 'lengths' applied to an object of class "factor"

我需要能够做到这一点,因为理想情况下,我会用 i 替换行号,然后 运行 在一个循环中替换它。这可能吗?我试着寻找类似的错误,但其他问题不是很有帮助。

感谢@MrFlick。原来我在列中使用的数据:

testdf.lv$Last

被错误地描述为因子变量而不是字符。将该列更改为具有以下内容的字符:

testdf.ld$Last <- as.character(testdf.ld$Last)

修复了错误,我能够将代码重写为 for 循环以遍历整个数据帧。