Не английские sh буквы в кадре данных - PullRequest
0 голосов
/ 04 мая 2020

У меня проблема с обработкой не английских sh букв во фрейме данных. Я хочу изменить имена столбцов, но функция dplyr::rename(colName1 = śśś) показывает ошибку и сообщает, что этот столбец не существует.

Это всего лишь пример. Я знаю, что мог бы переименовать столбцы другим способом.

Я пытался изменить кодировку по умолчанию в глобальных параметрах на UTF-8, но это не помогло.

1 Ответ

0 голосов
/ 04 мая 2020

Мне не совсем понятно, в чем проблема. Если вам нужно изменить имя столбца без ASCII на имя ASCII, вы можете сделать это, сопоставив имя без ASCII с регулярным выражением:

Воспроизводимые данные:

df <- data.frame(
  NY = c("some", "data", "more", "data"),
  śśś = c("some", "data", "more", "data")
)

Кому измените имя не-ASCII, скажем, Whatever, используйте grepl для соответствия [^ -~], класс символов ([...]) на , исключите (^) любой символ ASCII (-~) и, таким образом, соответствуют не-ASCII символам, таким как, например, ś, но также греческим буквам, китайским символам, арабским буквам c, умлауту и ​​т. Д.:

colnames(df)[grepl("[^ -~]", colnames(df))] <- "Whatever"

Результат:

df
    NY Whatever
1 some     some
2 data     data
3 more     more
4 data     data
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...