序列匹配器在R数据帧中使用Apply

时间:2018-09-10 15:30:05

标签: r fuzzywuzzy sequencematcher

我正在使用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]])

我认为传递tableflagonetwo的变量时存在问题。

预先感谢

0 个答案:

没有答案