使用 unique() 和 == 来匹配重音字符和非重音字符

Using unique() and == to match accented vs. non-accented characters

我将一些看起来几乎相同的 table 放在一起,只是有些字符在某些字符中显示为重音符号,而在其他字符中显示为非重音符号。例如,"André" 有时读作 "Andre"、"Flávio" 和 "Flavio" 等。我需要将所有变体视为相同,但 unique() 将它们视为不同。我考虑过将所有重音更改为非重音,然后使用 unique(),但我认为也许还有另一个更快的选择。

稍后我需要使用 == 进行相同的不区分重音的比较,因此我正在考虑从每个 table 的副本中删除所有重音,然后对副本进行比较。请告诉我是否有其他更好的方法。

在比较之前删除重音的方法似乎适合您的目的。请注意,这样的设施存在于 iconv 中,带有 TRANSLIT 标志

iconv(c("André","Flávio"),to='ASCII//TRANSLIT')
#> [1] "Andre"  "Flavio"