如何修改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
相关产品推荐
相关产品推荐

