gtsummary R 包:pre-post summary table with paired 2-sample tests?

gtsummary R package: pre-post summary table with paired 2-sample tests?

是否可以使用 gtsummary R 程序包制作 post 前摘要 table,其中 2 列总结了 2 个不同时间点的多个变量?

我知道 arsenal R package 支持这个,但我更愿意尽可能使用 gtsummary,因为它支持 tidyverse。

例如,是否可以使用类似于 example 中的 table 的 gtsummary 来制作 post 前摘要 table?这是他们示例中数据集的更简单版本:

 dat <- data.frame(
  tp = paste0("Time Point ", c(1, 2, 1, 2, 1, 2, 1, 2, 1, 2)),
  id = c(1, 1, 2, 2, 3, 3, 4, 4, 5, 6),
  Cat = c("A", "A", "A", "B", "B", "B", "B", "A", NA, "B"),
  Fac = factor(c("A", "B", "C", "A", "B", "C", "A", "B", "C", "A")),
  Num = c(1, 2, 3, 4, 4, 3, 3, 4, 0, NA),
  stringsAsFactors = FALSE)

注意数据集为“长格式”:tp 是 2 个前 post 时间点,id 是 2 个重复测量的受试者 ID。使table、CatFac为分类变量,在每个时间点汇总为count(%),用McNemar's test比较它们是否随时间变化。 Num 是一个数字变量,将在每个时间点汇总为平均值(标准差),并使用配对 t 检验来评估随时间的变化。

是的,从 gtsummary v1.3.6 开始,有一个名为 add_difference() 的函数用于此明确目的。该函数支持配对(例如 pre- 和 post-responses)和未配对数据。该方法在 test= 参数中指定。

这里的工作示例:http://www.danieldsjoberg.com/gtsummary/articles/gallery.html#paired-test

这是一个不成对的例子:

  trial %>%
  select(trt, age, marker, response, death) %>%
  tbl_summary(
    by = trt,
    statistic =
      list(
        all_continuous() ~ "{mean} ({sd})",
        all_dichotomous() ~ "{p}%"
      ),
    missing = "no"
  ) %>%
  add_n() %>%
  add_difference()