我是R语言的初学者,手头有两个城市名称列表。其中一个列表由用户生成(可能拼写混乱),另一个列表是正确的拼写。
我尝试使用包,但最终只得到了一个循环匹配最接近的结果的代码。但我只能输入向量,而我真正需要使用数据框架。
这是我的代码(感觉非常尴尬):
我尝试使用包,但最终只得到了一个循环匹配最接近的结果的代码。但我只能输入向量,而我真正需要使用数据框架。
这是我的代码(感觉非常尴尬):
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 在我的数据框的每一行中。我甚至不知道这是否是一个好主意,是否会占用太多处理能力,请毫不犹豫地说这很愚蠢。谢谢!
stringdist
函数调用中使用了word
,但在它下面的if
语句中使用了palavra
。你是不是忘记翻译"palavra"了,还是在你的代码中有其他地方定义了这个对象? - undefined