我希望具有下划线“ _importance”的所有因素按以下顺序重新调整:“完全不在乎”,“有点关心”,“有点关心”,“有点关心”,“关心”强烈”
我目前正在执行以下操作,以将字符类转换为因子类,但无法弄清楚如何在管道中重新调整级别:
test <- test %>%
select(contains("_importance")) %>%
mutate_if(is.character, as.factor)
答案 0 :(得分:1)
您可以使用fct_relevel
中的forcats
。
library(forcats)
library(dplyr)
neworder <- c("Don't care at all" , "Care a little", "Care somewhat", "Care somewhat strongly", "Care Strongly")
test %>%
mutate_at(vars(contains("_importance")), ~fct_relevel(.x, neworder))
请注意,fct_relevel
也可以在当前因子水平上应用函数,因此,例如,如果您只是想反转当前水平,则可以执行fct_relevel(f, rev)