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

R语言如何模糊查找关键词并重编码非标准化人口统计数据

R语言非标准化分类字段重编码方案

适用场景

该方案可解决多源上报数据的文本分类统一问题,通过核心关键词匹配无需枚举所有异常上报值,即可完成字段的标准化重编码,适配10余个学区人口统计数据的清洗需求。

示例原始数据

df_original <- data.frame(
  Race = c(
    "Native Hawaiian or Other Pacific Islander",
    "Native Hawaiian/Pacific Islander", 
    "Native Hawaiian or Pacific Islander",
    "Black or African American", 
    "Black", 
    "Black/African American"
  )
)

实现方案

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

核心使用grepl()函数做关键词模糊匹配,匹配到指定关键词后直接赋值为标准值:

# 可直接覆盖原Race字段,也可新增单独的清洗后字段
df_original$Race <- ifelse(
  grepl("Pacific", df_original$Race),
  "Native Hawaiian - Pacific Islander",
  ifelse(
    grepl("Black", df_original$Race),
    "Black - African American",
    df_original$Race
  )
)

如果上报数据存在大小写不统一的情况,可在grepl()中添加ignore.case = TRUE参数兼容大小写差异。

方案2:dplyr实现(更适合多分类规则扩展)

如果后续需要添加更多种族分类的标准化规则,用dplyr的case_when()语法可读性和扩展性更强:

library(dplyr)

df_clean <- df_original %>%
  mutate(
    Race = case_when(
      # 匹配含Pacific的取值
      grepl("Pacific", Race) ~ "Native Hawaiian - Pacific Islander",
      # 匹配含Black的取值
      grepl("Black", Race) ~ "Black - African American",
      # 未匹配到规则的取值保留原值,也可改为NA标记为待核查
      TRUE ~ Race
    )
  )

清洗后结果

两种方案运行后均可得到预期的标准化结果:

> df_clean
                                  Race
1 Native Hawaiian - Pacific Islander
2 Native Hawaiian - Pacific Islander
3 Native Hawaiian - Pacific Islander
4           Black - African American
5           Black - African American
6           Black - African American

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 00:06:00