Коэффициент перекодирования с использованием fct_recode: Неизвестные уровни в `f`

Я изучаю R и работаю с некоторыми очень простыми упражнениями о факторах и о том, как их перекодировать и преобразовать. Я успешно создал следующий фактор:

conti <- factor(
  c("Europe", "Africa", "Africa", "Asia", "S.America"), #Every single observation is registered
  levels = c("Africa", "Asia","Europe", "S.America") #Every possible category is registred
)

Я пытаюсь перекодировать уровни с помощью функции forcats 'fct_recode':

conti <- fct_recode(conti,
                    "S.America" = "S. Amerika",
                    "Europe" = "Europa",
                    "Asia" = "Asien",
                    "Africa" = "Afrika")

При этом я получаю следующий код ошибки:

Unknown levels in `f`: S. Amerika, Europa, Asien, Afrika

Есть идеи, что здесь происходит?

Спасибо!


person SnupSnurre    schedule 06.02.2020    source источник


Ответы (1)


Вы получите предупреждение о них, поскольку вы неправильно назначили новые уровни факторов. Пытаться,

forcats::fct_recode(conti,
                     "S. Amerika" = "S.America",
                     "Europa" = "Europe",
                     "Asien" = "Asia",
                     "Afrika" = "Africa")

#[1] Europa     Afrika     Afrika     Asien      S. Amerika
#Levels: Afrika Asien Europa S. Amerika
person Ronak Shah    schedule 06.02.2020
comment
логика fct_recode(x, "new level" = "old level") - person sindri_baldur; 06.02.2020