Неизвестные уровни в `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))