Я использую библиотеку 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, поскольку он слишком медленный для 1,5 миллиона записей
Я пробовал, как этот код ниже ::
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
.
Заранее спасибо