Соответствие последовательности с использованием Применить в кадре данных R - PullRequest
0 голосов
/ 10 сентября 2018

Я использую библиотеку 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.

Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...