我有一个for循环,该循环比较2个地址列以构成第三列。
我很难转换此for循环以应用也接受参数的函数。
有效的代码:
for (i in 1:length(df_name_address$col1)){
print(i)
df_test$flag[i] <- SequenceMatcher$new(tolower(df_test$address[i]),tolower(df_test$address2[i]))$ratio()
}
注意:sequenceMatcher只是FuzzywuzzyR中的一个函数,所以不必担心它,我只想将其转换为适用,或者将其归入同一系列,因为对于循环和大数据集而言,效率确实很低
样本:
col1 address address2 flag
1 abced abcd ad 0
2 def def 1
3 abcdef abcdef 1
4 xqc abc 0
功能尝试::
seqM2 <- function(x,table,flag,one,two) {
for (i in 1:length(table$one)){ return(SequenceMatcher$new(tolower(table$one[i]),tolower(table$two[i]))$ratio())
}
}
其中
表=数据框
标志=新列
一个=地址栏
两个=地址栏2
如何将其传递给mapply?