如果我已经重新编码了 20 个变量,为什么我不能将 mutate() 传递到 as_factor() 中?我没有收到错误,但它只是不做任何调平。
我可以一件一件
df$Ethnicity %<>% as_factor()
但我不能这样做:
df %<>%
mutate(
Gender = case_when(
Q4 == 1 ~ "Male",
Q4 == 2 ~ "Female",
TRUE ~ as.character("Other")),
Education = case_when(
Education_n %in% c(1:4) ~ "Low",
Education_n %in% c(5:8) ~ "Medium",
Education_n %in% c(9:11) ~ "High",
TRUE ~ NA_character_)) %>%
as_factor()
我也尝试过 as_factor(.) ,但无济于事。我真的必须手动包装每个 case_when infactor()
吗?我有二十个变量,我想避免需要将每个变量写入 purr:: 函数或重复 wrapping factor() 二十次的解决方案。