我有一个loooong国家列表,我需要根据其原始名称将它们分组。实际上有很多拼写错误,但有许多是用其他语言写的。 E.g。
泰国 TUNESIE 突尼斯 TUNISIE TURCQUIE TURKIJE TURQUIE 泰国 意大利广场 意大利 意大利
如何轻松地将它们分组?手工分类是最大的痛苦。 我曾想过在某种程度上阅读字符串或字符,但我还没有找到一种有效的方法。我可以使用R和C / C ++。
我真的很感激一些帮助!
非常感谢你的帮助!!
答案 0 :(得分:0)
这是一种方法:
x <- trimws(readLines(n=11))
THAILAND
TUNESIE
TUNIS
TUNISIE
TURCQUIE
TURKIJE
TURQUIE
Tailand
italie
italien
italy
m <- adist(x, x, ignore.case = T); colnames(m) <- x; rownames(m) <- x
hc <- hclust(as.dist(m), method="average")
plot(hc); rect.hclust(hc, h=3.8)
split(x, cutree(hc, h=3.8))
# $`1`
# [1] "THAILAND" "Tailand"
#
# $`2`
# [1] "TUNESIE" "TUNIS" "TUNISIE"
#
# $`3`
# [1] "TURCQUIE" "TURKIJE" "TURQUIE"
#
# $`4`
# [1] "italie" "italien" "italy"
Here是另一个。