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

如何用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

代码说明

  1. 变量遍历:用purrr::map遍历所有需要分析的分组变量,为每个变量单独生成cuminc模型和对应的tbl_cuminc表格。
  2. 表头定制:通过modify_header为每个子表格的变量列添加变量名,避免合并后混淆不同变量的结果。
  3. 表格合并:tbl_merge将多个单个变量的表格横向合并,并用tab_spanner为每个变量的结果区块添加标题,结构与gtsummary::tbl_survfit的多变量输出一致。

如果需要纵向堆叠多个变量的结果,可将tbl_merge替换为tbl_stack,并通过group_header参数区分不同变量的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 23:03:22