dplyr объединяет данные Mysql с диакритическими знаками - PullRequest
0 голосов
/ 14 мая 2018

Я даже не уверен, как сформулировать поиск для этого.

В моих данных MySQL,

SELECT "Anaïs" = "Anais"

возвращает "1". Таблица имеет кодировку utf8mb4, с сортировкой general_ci. (И я почти не знаю, что на самом деле означает это.) Так что в моей базе данных эти две строки эквивалентны.

Но я перетаскиваю эти данные в скрипт R и использую dplyr join, чтобы сопоставить их с другим фреймом таблицы / данных. И в R:

"Anaïs" == "Anais"

возвращает "ЛОЖЬ".

Кроме того, MySQL нечувствителен к регистру, но в R (DBI ??) объединения чувствительны к регистру. (В моих исходных данных есть куча опечаток, в которых вещи случайно не пишутся с заглавной буквы, например, Depaul и DePaul.)

Как лучше всего решить эту проблему?

СПАСИБО.

1 Ответ

0 голосов
/ 14 мая 2018

С stringi stri_trans_general преобразование латиницы в ASCII

library(stringi)
stri_trans_general('Anaïs','Latin-ASCII')=='Anais'
[1] TRUE

Для верхнего касса, используя toupper

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...