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

如何在gtsummary中排除单个变量不计算SMD?

解决方法

问题出在add_difference()的选择器语法使用错误,!age不是gtsummary认可的变量选择方式,参数逻辑也需要调整。要实现除age外所有变量计算SMD,同时age对应的差值和CI列为空,你可以按以下方式修改代码:

library(gtsummary)

trial %>%
  select(age, grade, response, trt) %>%
  tbl_summary(
    by = trt,
    label = list(age ~ "Patient Age"),
    statistic = list(all_continuous() ~ "{mean} ({sd})"),
    digits = list(age ~ c(0, 1))
  ) %>%
  add_difference(
    # 对除age外的所有变量指定计算SMD
    test = list(
      everything() & !age ~ "smd",
      # 对age设置不计算任何检验/差值
      age ~ NULL
    )
  )

关键说明

  • 使用everything() & !age精准选中除age外的所有变量,指定它们用"smd"方法计算差异
  • 对age设置test = NULL,该变量不会执行任何差异检验,对应的Difference和95% CI列会显示为空
  • 如果只需要针对连续变量除age外计算SMD,可把everything() & !age换成all_continuous() & !age,分类变量会使用默认检验方法(若不需要分类变量的差异结果,也可对分类变量单独设置test = NULL)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 20:50:15