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

在R中如何将data frame的0/1性别整数字段转换为对应文本值?

R中将0/1编码的性别列转换为对应文本的实现方法

下面提供3种常用的实现方案,你可以根据自己的使用场景选择:

  • 方案1:使用dplyr包的case_match函数(适合整洁流工作流)
    如果你的日常分析用tidyverse生态,这个方法可读性最高:
library(dplyr)
# 假设你的数据框名为df
df <- df %>%
  mutate(gender = case_match(
    gender,
    0 ~ "Female",
    1 ~ "Male"
  ))
  • 方案2:使用基础R的映射逻辑(不需要加载额外包,运行速度快)
    利用命名向量做映射,代码非常简洁:
# 假设你的数据框名为df
lookup <- c("0" = "Female", "1" = "Male")
df$gender <- lookup[as.character(df$gender)]

如果后续要做统计分析,也可以直接转成因子类型:

df$gender <- factor(df$gender, levels = c(0,1), labels = c("Female", "Male"))
  • 方案3:使用ifelse分支判断(逻辑简单好理解)
    适合初学者快速上手:
# 假设你的数据框名为df
df$gender <- ifelse(df$gender == 0, "Female", "Male")

注意:如果你的gender列存在缺失值,上述方法都会保留缺失值为NA,不会出现错误映射,如果需要处理缺失可以额外加判断分支。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 16:39:03