String 在将字符串作为输入的函数中正确使用*apply

String 在将字符串作为输入的函数中正确使用*apply,string,r,String,R,我感兴趣的是将levenshteinSim函数从记录链接包应用到字符串向量(关于函数有很好的讨论) 假设我有一个向量,叫做code:“a”、“B”、“C”、“D”,等等。; 一个名为的向量测试:“a”、“B”、“C”、“D”等 使用sapply针对代码的向量测试“tests”中的特定值 sapply(codes,levenshteinSim,str2=tests[1]) 我希望得到一个列表或向量(如果我犯了术语错误,我深表歉意):[score1][score2][score3] 不幸的是,输出

我感兴趣的是将
levenshteinSim
函数从记录链接包应用到字符串向量(关于函数有很好的讨论)

假设我有一个向量,叫做
code
“a”、“B”、“C”、“D”
,等等。; 一个名为
的向量测试
“a”、“B”、“C”、“D”等

使用
sapply
针对
代码的向量测试“tests”中的特定值

sapply(codes,levenshteinSim,str2=tests[1])
我希望得到一个列表或向量(如果我犯了术语错误,我深表歉意):
[score1][score2][score3]

不幸的是,输出是对
测试[1]
中的值与
c(“a”、“B”、“c”、“D”…)
中的单个值进行测试

最后,我想将这两个向量相互应用,生成一个长度为len1*len2的矩阵,但在我明白我做错了什么之前,我不想前进


有人能提供指导吗?

我不确定问题出在哪里:

 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的向量。

感谢您的回复@DWin。我必须从我的数据中提取一些样本来进行测试。注意:我正在“降低”每个元素(因为levenshteinSim是区分大小写的)。我不确定这会对事情产生什么影响。