【发布时间】:2020-06-14 10:41:14
【问题描述】:
我有一个大型数据集 (300k),并且有一个我想要清理的特定列 - 名称列。 问题是由于人为输入错误,同一个名字可能有多个无意拼写,例如“Benjamin”拼写为“Banjamin”。
我尝试了 openrefine,但 ngram 合并和键冲突都无法解决上述示例,而 Leveshtein 距离公式永远存在并冻结了我的计算机。我尝试了 Python,但fuzzywuzzy + for 循环再次需要永远并且似乎不可行。 R studio 似乎是一个不错的选择,但我不知道如何解决这个问题?我尝试了“refinr”包,但这与 openrefine 相同,无法处理“Benjamin”和“Banjamin”类型的拼写错误。仅当有重复的字母或单词之间有空格时才有效。
有人对我应该怎么做有什么建议吗?
谢谢
【问题讨论】:
-
欢迎来到 SO!请花一些时间阅读如何ask good question。我认为谷歌搜索“R 中的模糊连接”之类的内容应该会给你很多选择。您可能会发现 fuzzyjoin 包特别有用。
-
您有无意/错误拼写的列表吗? TMM,标题应该是“模糊匹配”
-
您可能正在寻找类似stringdist 的包,它具有近似字符串匹配和距离的功能。但是鉴于您的问题非常广泛,要给您一个准确的答案并不容易。我们所能做的就是给你一些方向,但你必须自己弄清楚细节。
标签: r data-cleaning fuzzy