Использование unique() и == для сравнения акцентированных и не акцентированных символов

Я собираю несколько таблиц, которые выглядят почти одинаково, за исключением того, что некоторые символы выглядят без акцента в одних и не акцентируются в других. Например, "Андре" иногда читает "Андре", "Флавио" и "Флавио" и т. Д. Мне нужно рассматривать все варианты как равные, но unique() считает их разными. Я думал об изменении всего акцентированного на не акцентированный, а затем с использованием unique(), но я подумал, что, возможно, есть другой, более быстрый вариант.

Позже мне нужно сделать такое же сравнение без учета акцента, используя ==, поэтому я думаю об удалении всех акцентов из копии каждой таблицы и проведении сравнения на копиях. Пожалуйста, скажите мне, если есть другой, лучший подход.

1 ответ

Решение

Подход удаления акцентов перед сравнением кажется подходящим для ваших целей. Обратите внимание, что такая возможность существует в iconv с TRANSLIT флаг

iconv(c("André","Flávio"),to='ASCII//TRANSLIT')
#> [1] "Andre"  "Flavio"
Другие вопросы по тегам