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

R语言中合并种族与族裔字段生成患者分类表格的实现方法问询

R语言中合并种族与族裔字段生成患者分类表格的实现方法问询

Hey there! 看起来你需要把种族和族裔两个字段结合起来,给每个患者生成更细致的分类(比如"White Hispanic/Latino"、"Black Other"这类),同时还想统计这些分类的分布对吧?我来一步步帮你解决这个问题:

第一步:把种族数字编码转换成文字标签

你的种族列是1-6的数字,首先得把这些数字映射成具体的种族名称(比如1=白人、2=黑人,这个对应关系得你根据实际编码规则调整哦)。这里推荐用dplyr包来处理,语法更直观:

# 先安装并加载dplyr(如果还没装的话)
install.packages("dplyr")
library(dplyr)

# 假设你的数据框叫df,第二列是种族数字列(比如列名叫Race)
df <- df %>%
  mutate(Race_Label = case_when(
    Race == 1 ~ "White",
    Race == 2 ~ "Black",
    Race == 3 ~ "Asian",
    Race == 4 ~ "Native American",
    Race == 5 ~ "Pacific Islander",
    Race == 6 ~ "Other Race",
    TRUE ~ "Unknown" # 处理不在1-6范围内的意外值
  ))

如果习惯用base R的话,也可以用factor函数来做:

df$Race_Label <- factor(df$Race, 
                        levels = 1:6,
                        labels = c("White", "Black", "Asian", "Native American", "Pacific Islander", "Other Race"))

第二步:合并种族与族裔生成细分分类

接下来把种族标签和族裔列(第四列)结合,还要考虑你提到的Specify列——当族裔是"Other"时,可以用Specify里的具体内容来补充,让分类更准确:

df <- df %>%
  mutate(
    # 先处理族裔的完整描述:当Ethnicity是Other且Specify有值时,用Specify内容
    Ethnicity_Full = case_when(
      Ethnicity == "Other" & !is.na(Specify) ~ Specify,
      TRUE ~ Ethnicity
    ),
    # 合并种族和族裔,生成最终的细分分类
    Race_Ethnicity = paste(Race_Label, Ethnicity_Full, sep = " ")
  )

这样处理后,每个患者的Race_Ethnicity列就会显示你想要的"White Hispanic/Latino"、"Black Honduran"这类具体分类啦。

第三步:查看结果或生成统计表格

  • 查看每个患者的分类:直接选择需要的列展示即可,比如:
select(df, Patient_ID, Race_Label, Ethnicity_Full, Race_Ethnicity)
  • 统计各类别的分布:你提到的table()函数完全适用,也可以用dplyr生成更美观的统计表格:
# 用base R的table函数统计数量
table(df$Race_Ethnicity)

# 用dplyr生成排序后的统计表格
df %>%
  count(Race_Ethnicity, sort = TRUE) %>%
  rename(Count = n)

小提示

  • 记得把代码里的列名(比如Race、Ethnicity、Patient_ID)替换成你数据框里的实际列名,要是不确定列名,可以用colnames(df)查看。
  • 如果你的数据框列是按位置来的(比如第二列是种族,第四列是族裔),也可以用df[,2]、df[,4]来指代,但用列名更不容易出错哦。

备注:内容来源于stack exchange,提问作者rstudio_noob

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 06:59:32