我有兴趣将 Record-Linkage 包中的levenshteinSim
函数应用于字符串向量(对函数here进行了很好的讨论)。
想象一下,我有一个名为codes
的向量:"A","B","C","D"
等;
还有一个名为tests
的向量:"A","B","C","D"
等
使用sapply
针对codes
的向量测试“测试”中的特定值,
sapply(codes,levenshteinSim,str2=tests[1])
我希望得到一个列表或向量(如果我犯了术语错误,我会道歉):[score1] [score2] [score3]
。
不幸的是,输出是tests[1]
对c("A","B","C","D", ...)
的值的测试 - 单个值。
最终,我想*apply
两个向量相互对立,产生一个长度为len1*len2
的矩阵 - 但我不想向前推进,直到我明白我做错了什么为止
任何人都可以提供指导吗?
答案 0 :(得分:0)
我不确定问题出在哪里:
library(RecordLinkage)
sapply(codes,levenshteinSim,str2=test)
A B C D
[1,] 1 0 0 0
[2,] 0 1 0 0
[3,] 0 0 1 0
[4,] 0 0 0 1
当str2只是一个项目时,你得到一个长度为4的向量。