【发布时间】:2014-09-09 19:36:33
【问题描述】:
我有一张拼错单词的表格。我需要更正那些使用与那个更相似的词,频率更高的词。
例如,在我运行之后
aggregate(CustomerID ~ Province, ventas2, length)
我明白了
1
2 AMBA 29
3 BAIRES 1
4 BENOS AIRES 1
12 BUENAS AIRES 1
17 BUENOS AIRES 4
18 buenos aires 7
19 Buenos Aires 3
20 BUENOS AIRES 11337
35 CORDOBA 2297
36 cordoba 1
38 CORDOBESA 1
39 CORRIENTES 424
所以我需要用 BUENOS AIRES 替换 buenos aires, Buenos Aires, Baires, BUENOS AIRES,但不应替换 AMBA。 CORDOBESA 和 cordoba 也应替换为 CORDOBA,而不是 CORRIENTES。
如何在 R 中做到这一点?
谢谢!
【问题讨论】:
-
您可以使用例如
adist函数(或stringdist包中的其他方法)测量字符串距离,将更相似的字符串分组(使用距离阈值),然后替换所有组中的字符串与组中频率最高的字符串。问题是,这种方法确实受到距离计算和选择的阈值的影响。例如,请注意,对于可能所有的字符串距离方法,AMBA 更类似于 BAIRES 而不是 BUENOS AIRES... -
你能把代码贴出来吗?
标签: r dictionary replace misspelling