0

我正在使用包 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 替换行号并在循环中运行它。这甚至可能吗?我尝试寻找类似的错误,但其他问题不是很有帮助。

4

1 回答 1

0

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

testdf.lv$Last

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

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

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

于 2015-10-13T21:59:34.850 回答