首页 > 解决方案 > 更改 gtsummary 汇总表中“add_p()”函数执行的默认统计测试

问题描述

我正在使用 gtsummary 包生成汇总表。

我想做以下事情:

  1. “add_p”函数对“by”变量中的比例执行二比例 z 检验,而不是独立性的卡方检验。使用 stats::prop.test
  2. 在脚注上显示“执行的统计测试”是“具有连续性校正的比例相等的 2 样本测试”

我怎样才能在这个示例代码中做到这一点?

trial2 <- trial %>% select(trt, grade)
trial3 <- trial2[-which(trial2$grade == "III"),]
trial4 <- droplevels(trial3)

trial4 %>%
  tbl_summary(
    by = trt,
    statistic = list(all_continuous() ~ "{mean} ({sd})",
                     all_categorical() ~ "{n} / {N} ({p}%)"),
    digits = all_continuous() ~ 2,
    label = grade ~ "Tumor Grade"
  ) %>% add_p()

谢谢!

标签: gtsummary

解决方案


你可以有两个选择。首先,构建一个自定义 p 值函数来计算基于 的 p 值prop.test()add_p.tbl_summary()帮助文件中有一个这样的例子。

第二个选项(也是更简单的选项)是从 GitHub 下载包的当前开发版本。在此版本中,该prop.test()选项已内置。示例如下!

remotes::install_github("ddsjoberg/gtsummary")
library(gtsummary)
packageVersion("gtsummary")
#> [1] ‘1.3.5.9017’

trial %>%
  select(response, death, trt) %>%
  tbl_summary(by = trt) %>%
  add_p(test = everything() ~ "prop.test") %>%
  modify_footnote(p.value ~ "2-sample test for equality of proportions with continuity correction")

在此处输入图像描述

您可能还想查看add_difference()还报告prop.test()p 值以及组间差异的新函数。

trial %>%
  select(trt, response, death) %>%
  tbl_summary(by = trt,
              statistic = all_dichotomous() ~ "{p}%",
              missing = "no") %>%
  modify_footnote(all_stat_cols() ~ NA) %>%
  add_n() %>%
  add_difference(estimate_fun = ~paste0(style_sigfig(. * 100), "%"))

在此处输入图像描述


推荐阅读