我正在使用FuzzywuzzR库,并使用sequenceMatcher方法比较地址并获得比率。
代码在下面
for (i in 1:length(df_name_address$col1)){
print(i)
df_name_address$address_pct_seq_match[i] <- SequenceMatcher$new(tolower(df_test$address[i]),tolower(df_test$address2[i]))$ratio()
}
此代码对于用例是正确的,但是我在使用apply函数系列使用此代码时遇到问题,因为它对于150万条记录太慢了
我尝试过以下代码:
seqM2 <- function(table,flag,one,two) {
table$flag = SequenceMatcher$new(tolower(table$one),tolower(table$two))$ratio()
}
lapply(df_test,seqM2,table = df_test,flag = flag,one = address,two = address2)
其中
table = DF name
flag = new column to capture result
one = address column
two = address2 column
我遇到的错误如下:
Error in FUN(X[[i]], ...) : unused argument (X[[i]])
我认为传递table
,flag
,one
,two
的变量时存在问题。
预先感谢