Мне не совсем понятно, в чем проблема. Если вам нужно изменить имя столбца без 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