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

使用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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 06:54:05