首页 > 解决方案 > 使用 fct_recode 重新编码因子:“`f` 中的未知级别”

问题描述

我成功地创造了以下因素:

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

知道这里发生了什么吗?

标签: rtidyverseforcats

解决方案


由于您错误地分配了新的因子水平,因此您会收到一条警告消息。尝试,

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

推荐阅读