问题描述
我有一个包含 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"))