You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R中不转为整数如何对factor因子变量的水平进行重设及合并

完全可以不用将变量转为整数、也不用调用ifelse实现分类合并,下面提供两种常用实现方案:

方案1:基础R实现(无需额外加载包)

核心思路是直接修改因子变量的水平,不需要做类型转换:

library(plm)
data("Males")

# 直接重定义因子水平实现合并
levels(Males$residence) <- list(
  zona_a = c("north_east", "nothern_central"),
  zone_b = c("rural_area", "south")
)

# 验证合并结果
table(Males$residence)

输出结果:

zona_a zone_b 
  1697   1418 

方案2:tidyverse风格实现(逻辑更直观)

用forcats包的fct_collapse函数专门处理因子重分类,代码可读性更高:

library(plm)
library(forcats)
data("Males")

Males$residence <- fct_collapse(
  .f = Males$residence,
  zona_a = c("north_east", "nothern_central"),
  zone_b = c("rural_area", "south")
)

# 验证合并结果
table(Males$residence)

输出结果和上面的基础R方案完全一致。

内容的提问来源于stack exchange,提问作者Jack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 16:24:02