Я настоящий новичок в R, и у меня есть два списка с названиями городов.Один список имеет сгенерированные пользователем имена (люди пишут беспорядочно), а другой список с орфографией имен.
Я попытался использовать пакет stringdist , и я получил код, который зацикливается (для) и дает наиболее близкое совпадение.Но я мог только вводить векторы, и мне действительно нужно использовать фреймы данных.
Это мой код (о боже, это неудобно):
input <- "BAC" #misspelled
correct <- c("ABC", "DEF", "GHI", "JKL") #list with all correct names
shortest <- -1a
for (word in correct) {
dist <- stringdist(input, word)
#checks if it's a match!
if (dist == 0){
closest <- palavra
shortest <- 0
break
}
if(dist <= shortest || shortest < 0){
closest <- word
shortest <- dist
}
}
if(shortest == 0){
print("It's a match!")
} else {
print(closest)
}
Идея состоит в том, чтобы использовать этоЧтобы получить идею, я хотел перейти от использования stringdist в каждой строке моего фрейма данных.Я даже не знаю, если это хорошая идея, если это потребует слишком много вычислительной мощности, не бойтесь говорить, что это глупо.Спасибо!