重新编码因子变量,丢弃 N/A 数据

问题描述

我有一个包含 14 个级别的因子变量,我试图将其压缩为 3 个级别。它包含两个 N/A,我也想删除

我的代码如下:

job <- fct_collapse(E$occupation,other = c("7","9","10","13" "14"),1 = c("1","2","3","12"),2 = c("4","5","6","8","11"))

但是它给了我很多错误。有人可以在这里帮我吗?

解决方法

我们也可以使用名为 list

library(forcats)
lst1 <- setNames(list(as.character(c(7,9,10,13,14)),as.character(c(1,2,3,12)),as.character(c(4,5,6,8,11))),c('other',1,2))
fct_collapse(df$occupation,!!!lst1)

数据

df <- structure(list(occupation = c("1","3","5","7","9","10","12","14","13","4","6","5")),class = "data.frame",row.names = c(NA,-13L))
,

对于数字,请尝试在 fct_collapse 中使用反引号。

job <- forcats::fct_collapse(df$occupation,other = c("7","14"),`1` = c("1","2","12"),`2` = c("4","8","11"))