能否在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
相关产品推荐
相关产品推荐

