Неизвестные уровни в `f`: ошибка fct_recode, связанная с форматированием апострофов

Я пытаюсь использовать fct_recode() команда из пакета forcats для перемаркировки всех наблюдений в столбце одного кадра данных для объединения с другим кадром данных. Столбец, который я записывал, представлял собой список названий стран из набора данных ООН. Я привел это к фактору, а затем перекодировал его, но для одного из названий стран я получил ошибку:

Неизвестные уровни в f: Корея, Дем. Народный представитель

Кажется, не признать апостроф в названии страны. Я использовал anti_join() а также unique() Команды, чтобы найти, какие записи не совпадают, и даже скопировать и вставить название "Корея, Дем. Народный представитель". к fct_recode выдал такую ​​же ошибку. Похоже, это относится к форматированию апострофа, о чем свидетельствует различие в следующих строках кода:

undata <- mutate(undata, country_name=as.factor(country_name))
undata <- mutate(undata, country_name=fct_recode(country_name, 
                                 "Korea_North"="Korea, Dem. People's Rep."))
# versus
undata <- mutate(undata, country_name=fct_recode(country_name, 
                                  "Korea_North"="Korea, Dem. People’s Rep."))`

Копирование и вставка любого из этих, казалось бы, по-разному отформатированных апострофов приводит к одной и той же ошибке.

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

Я использую версию 3.4.3 R для Windows 10 и Tidyverse 1.2.1.

0 ответов

У меня возникли те же проблемы с запятыми в fct_recode, и я предварительно запустил этот код, немного изменив для вашей проблемы:

  undata <- undata %>%
  mutate(country_name = as.character(country_name)) %>%
  mutate(country_name = str_replace_all(country_name,
    pattern = fixed("'"), 
    replacement = "")) %>%
  mutate(country_name = as.factor(country_name))
Другие вопросы по тегам