ищет, чтобы "исправить" кодировку DF со смесью английского и французского языков. Я загружаю его не из .csv, а из API, поэтому не смогу изменить кодировку при импорте.
df <- tibble(ID = 1:4,
text = c("engish", "pour la mise en œuvre d’une ville", "Sécurité de l'information - Ouverture des données", "Directeur Général"))
Encoding(df$text)
[1] "unknown" "latin1" "latin1" "latin1"
Использование этой функции из пакета proustr изменяет кодировку, но не символы:
pattern_quote <- paste0(intToUtf8(8243),"|",intToUtf8(8246),"|",intToUtf8(171)," | ",intToUtf8(187),"|",
intToUtf8(8220),"|",intToUtf8(8221),"|",intToUtf8(96),"|",intToUtf8(180),"|",
intToUtf8(8222),"|",intToUtf8(8220))
pattern_apo <- paste0(intToUtf8(1370),"|",intToUtf8(65040),"|",intToUtf8(8217))
clean_punc <- function(vec){
vec <- str_replace_all(vec, pattern = pattern_quote,
replacement = '"')
vec <- str_replace_all(vec, pattern = pattern_apo,
replacement ="'")
str_replace_all(vec, pattern = intToUtf8(8230), replacement = "\\.\\.\\.")
}
Encoding(clean_punc(df$text))
[1] "unknown" "UTF-8" "UTF-8" "UTF-8"
Но результат тот же:
df %>% map_dfr(., clean_punc)
# A tibble: 4 x 2
ID text
<chr> <chr>
1 1 engish
2 2 "pour la mise en Å\"uvre d’une ville"
3 3 Sécurité de l'information - Ouverture des do~
4 4 Directeur Général
Может быть, изменение кодировки - не то, что я хочу, а необходимость str_replace
с различными шаблонами?