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

因子变量按比例标记:如何按指定比例随机填充性别字段NA值

R 按指定数量随机替换性别字段NA值

适配因子类型字段的完整实现代码

如果你的Gender字段是因子类型,需要先确保存在male、female两个水平,避免赋值时生成新的无效NA:

# 补全因子水平(如果原字段已经包含对应水平可跳过该步)
levels(data$Gender) <- unique(c(levels(data$Gender), "male", "female"))

# 定位所有NA值对应的行索引
na_idx <- which(is.na(data$Gender))
# 从NA行中随机抽取7个索引,赋值为female
female_idx <- sample(na_idx, size = 7, replace = FALSE)
data$Gender[female_idx] <- "female"
# 剩余未处理的NA全部赋值为male
data$Gender[is.na(data$Gender)] <- "male"

代码说明

  • which(is.na(data$Gender))只会匹配性别为NA的行,不会修改原本已有的有效性别记录
  • sample()的replace = FALSE参数保证抽取的7个索引不重复,刚好满足7个female、43个male的分配需求
  • 如需固定随机结果方便复现,可以在运行抽样代码前添加set.seed(自定义数字,比如123),每次运行都会得到一致的赋值结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 15:45:04