Использование unique() и == для сравнения акцентированных и не акцентированных символов
Я собираю несколько таблиц, которые выглядят почти одинаково, за исключением того, что некоторые символы выглядят без акцента в одних и не акцентируются в других. Например, "Андре" иногда читает "Андре", "Флавио" и "Флавио" и т. Д. Мне нужно рассматривать все варианты как равные, но unique() считает их разными. Я думал об изменении всего акцентированного на не акцентированный, а затем с использованием unique(), но я подумал, что, возможно, есть другой, более быстрый вариант.
Позже мне нужно сделать такое же сравнение без учета акцента, используя ==, поэтому я думаю об удалении всех акцентов из копии каждой таблицы и проведении сравнения на копиях. Пожалуйста, скажите мне, если есть другой, лучший подход.
1 ответ
Подход удаления акцентов перед сравнением кажется подходящим для ваших целей. Обратите внимание, что такая возможность существует в iconv
с TRANSLIT
флаг
iconv(c("André","Flávio"),to='ASCII//TRANSLIT')
#> [1] "Andre" "Flavio"