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

如何在gtsummary中正确设置group参数执行配对Wilcoxon检验?

解决配对Wilcoxon检验的group参数问题

问题根源

  1. 测试数据缺少配对标识变量:配对检验要求每组观测有明确的配对关系(比如同一样本的前后测数据),当前数据仅按class分组,但没有标识哪些行是一对。
  2. test.args中变量引用方式错误:直接写group=class会导致环境找不到变量,且group参数的作用是指定配对标识,而非分组变量。

正确解决方案

步骤1:调整数据结构,添加配对标识

新增id列,明确标注每一对观测:

library(dplyr)
library(gtsummary)
library(tibble)

data <- tribble(
  ~id, ~icu, ~los, ~class,
  1, 4, 6, 0,
  1, 5, 8, 1,
  2, 0, 2, 0,
  2, 25, 50, 1, 
  3, 3, 9, 0,
  3, 11, 15, 1
)

步骤2:正确调用add_p

用.data$id指定配对标识,by=class保留为分组变量(配对的两组):

data %>%
  tbl_summary(
    by = class,
    type = list(icu ~ "continuous", los ~ "continuous")
  ) %>%
  add_p(
    all_continuous() ~ "paired.wilcox.test",
    test.args = all_continuous() ~ list(group = .data$id)
  )

关键说明

  • .data$id是gtsummary推荐的列引用方式,能避免环境变量找不到的错误。
  • group参数的核心作用是告诉检验函数:哪些观测属于同一配对,不要和分组变量class混淆。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 15:37:25