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

能否在R的gtsummary包tbl_summary函数中修改分类变量值名称?

在gtsummary的tbl_summary中修改分类变量取值标签

有两种可靠的代码层面方法可以实现需求,无需手动修改输出:

方法1:预处理时将变量转为带标签的因子

提前把education变量转换为因子并指定标签,tbl_summary会自动识别并使用这些标签:

# 假设你的数据框名为df
df$education <- factor(
  df$education,
  levels = c("1", "2", "3", "4"),
  labels = c("primary school", "high school", "university", "etc.")
)

# 生成汇总表格
tbl_summary(df, include = education)

方法2:生成表格后修改底层数据

如果不想改动原始数据,可以用modify_table_body函数直接修改表格的取值标签:

library(gtsummary)

# 先创建初始汇总表
summary_tbl <- df %>%
  tbl_summary(include = education) %>%
  # 修改表格主体的标签内容
  modify_table_body(
    ~ .x %>%
      dplyr::mutate(
        label = dplyr::case_when(
          variable == "education" & label == "1" ~ "primary school",
          variable == "education" & label == "2" ~ "high school",
          variable == "education" & label == "3" ~ "university",
          variable == "education" & label == "4" ~ "etc.",
          TRUE ~ label  # 保留其他变量/取值的原始标签
        )
      )
  )

两种方法各有适用场景:方法1适合在数据清洗阶段统一处理变量标签,方法2适合需要保留原始数据结构的情况。

内容的提问来源于stack exchange,提问作者Muhammad Aaqib Shamim

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 20:35:23