У меня есть цикл 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?