首页 > 解决方案 > 如何在 tbl_summary 中添加两个差异统计信息?

问题描述

我是 r 的初学者,并尝试使用这个很棒的gtsummary包创建一些表。我的问题是,是否可以使用 add_difference 同时添加两个单独的差异统计信息(或以某种方式组合这些统计信息)?我能够创建一个具有p 值或效果大小的完美表格,但不能同时具有这两者。另外,是否可以使用 bonferroni 调整后的 p 值?我的简单代码(带有 t.test)如下所示:

table1 <- tbl_summary(df, by = gr, statistic = list(all_continuous() ~ "{mean} ({sd})")) %>% add_difference(test = list(all_continuous() ~ "t.test"), group = gr, conf.level = 0.95, pvalue_fun = function(x) style_pvalue(x, digits = 2)))

感谢帮助。

标签: gtsummary

解决方案


是的,您在 gtsummary 中可以找到您想要的表格。使用该tbl_merge()函数合并具有标准化差异和 p 值的表。下面有一个例子。对此的替代方法是用于add_stat()构造自定义列。

library(gtsummary)
#> #BlackLivesMatter
packageVersion("gtsummary")
#> [1] '1.4.1'

# standardized difference
tbl1 <- 
  trial %>% 
  select(trt, age, marker) %>%
  tbl_summary(by = trt, missing = "no",
              statistic = all_continuous() ~ "{mean} ({sd})") %>%
  add_difference(all_continuous() ~ "cohens_d")

# table with p-value and corrected p-values
tbl2 <- 
  trial %>% 
  select(trt, age, marker) %>%
  tbl_summary(by = trt, missing = "no") %>%
  add_p(all_continuous() ~ "t.test") %>%
  add_q(method = "bonferroni") %>%
  # hide the trt summaries, because we don't need them repeated
  modify_column_hide(all_stat_cols())
#> add_q: Adjusting p-values with
#> `stats::p.adjust(x$table_body$p.value, method = "bonferroni")`

# merge tbls together
tbl_final <- 
  tbl_merge(list(tbl1, tbl2)) %>%
  # remove spanning headers
  modify_spanning_header(everything() ~ NA)

在此处输入图像描述 reprex 包于 2021-07-20 创建 (v2.0.0 )


推荐阅读