使用gtsummary调整Table 1特征:将附加特征纳入变量分类的方法
实现方法
你需要的是非互斥分类的Table 1统计逻辑,无需各分类占比总和为100%,用gtsummary可按以下步骤实现:
- 第一步:数据预处理
将原变量X的各个原有分类、附加特征p(对应场景中的肛周病变)分别转换为二分类指示列,符合对应分类/特征的患者赋值为1,否则为0。 - 第二步:调用gtsummary生成表格
通过type参数指定所有相关列为二分类变量,再用modify_spanning_header()将所有分类归到同一父级分类项下即可,示例代码如下:
library(gtsummary) library(dplyr) # 示例数据构造 sample_data <- tibble( colon = rbinom(200, 1, 0.35), # 原有分类A:结肠病变 small_intestine = rbinom(200, 1, 0.4), # 原有分类B:小肠病变 ileum = rbinom(200, 1, 0.22), # 原有分类C:回肠病变 perianal = rbinom(200, 1, 0.28) # 附加特征p:肛周病变 ) # 生成目标Table 1 sample_data %>% tbl_summary( variables = c(colon, small_intestine, ileum, perianal), # 指定所有列为二分类,仅统计取值为1的样本 type = list(everything() ~ "dichotomous"), # 设置各分类显示标签 label = list( colon ~ "结肠病变", small_intestine ~ "小肠病变", ileum ~ "回肠病变", perianal ~ "肛周病变" ), # 统计结果展示格式:人数(占比) statistic = list(everything() ~ "{n} ({p}%)") ) %>% # 给所有病变分类添加统一父级表头 modify_spanning_header( columns = c(colon, small_intestine, ileum, perianal), label = "**病变位置**" )
- 结果说明
生成的表格会将所有分类统一归属到「病变位置」分类项下,每个分类单独统计符合条件的样本量和占比,支持同时患病的样本被计入多个分类,无需占比总和为100%,完全匹配需求。
内容的提问来源于stack exchange,提问作者Dahham
相关产品推荐
相关产品推荐

