如何用tidycmprk批量生成多变量竞争风险累积发生率汇总表?
用tidycmprk一次性生成多变量累积发生率汇总表
要实现无需手动拼接多个表格、一次性生成多变量的累积发生率汇总表,可以结合purrr循环生成单个变量的表格,再用gtsummary的tbl_merge合并结果,具体步骤如下:
实现代码
library(tidycmprk) library(gtsummary) library(purrr) library(dplyr) # 定义需要分析的多个分组变量 group_vars <- c("trt", "grade") # 遍历变量生成单个变量的累积发生率表格 cuminc_tbl_list <- map(group_vars, function(var) { # 构建公式:Surv(ttdeath, death_cr) ~ 分组变量 model_formula <- as.formula(paste("Surv(ttdeath, death_cr) ~", var)) cuminc(model_formula, data = trial) %>% tbl_cuminc( times = c(24), outcomes = "death from cancer", label_header = "**Month {time}**" ) %>% # 修改表头,标注当前分析的变量 modify_header(label = paste("**", var, "**", sep = "")) }) # 合并所有表格为一个汇总表 multi_var_cuminc_tbl <- tbl_merge( tbls = cuminc_tbl_list, tab_spanner = paste("**", group_vars, "**", sep = "") ) # 查看结果 multi_var_cuminc_tbl
代码说明
- 变量遍历:用
purrr::map遍历所有需要分析的分组变量,为每个变量单独生成cuminc模型和对应的tbl_cuminc表格。 - 表头定制:通过
modify_header为每个子表格的变量列添加变量名,避免合并后混淆不同变量的结果。 - 表格合并:
tbl_merge将多个单个变量的表格横向合并,并用tab_spanner为每个变量的结果区块添加标题,结构与gtsummary::tbl_survfit的多变量输出一致。
如果需要纵向堆叠多个变量的结果,可将tbl_merge替换为tbl_stack,并通过group_header参数区分不同变量的结果。
内容的提问来源于stack exchange,提问作者ebay
相关产品推荐
相关产品推荐

