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

如何修改gtsummary包中分类变量的取值标签?

修改gtsummary表格中分类变量的取值标签

你之前的写法无效,是因为tbl_summary()的label参数仅用于修改变量本身的名称标签,无法直接修改分类变量的取值文本。要实现cyl变量4/6/8改为Four/Six/Eight,有两种常用方法:

方法1:先将变量转为因子并设置标签

提前把cyl转换成因子类型,指定对应水平的标签,再传入tbl_summary():

library(gtsummary)
library(dplyr)

mtcars |>
  select(mpg, cyl) |>
  mutate(cyl = factor(cyl, levels = c(4, 6, 8), labels = c("Four", "Six", "Eight"))) |>
  tbl_summary(label = list(mpg ~ "Miles per Gallon", cyl ~ "Cylinder"))

方法2:用modify_table_body修改表格内容

如果不想修改原数据集,可以在生成表格后,通过modify_table_body()函数替换取值文本:

library(gtsummary)
library(dplyr)

mtcars |>
  select(mpg, cyl) |>
  tbl_summary(label = list(mpg ~ "Miles per Gallon", cyl ~ "Cylinder")) |>
  modify_table_body(
    mutate,
    label = case_when(
      variable == "cyl" & label == "4" ~ "Four",
      variable == "cyl" & label == "6" ~ "Six",
      variable == "cyl" & label == "8" ~ "Eight",
      TRUE ~ label
    )
  )

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 05:30:49