【问题标题】:How to add two difference statistics in tbl_summary?如何在 tbl_summary 中添加两个差异统计信息?
【发布时间】:2021-07-20 21:15:01
【问题描述】:

我是 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


    【解决方案1】:

    是的,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 package (v2.0.0) 于 2021-07-20 创建

    【讨论】:

    • 完美运行。只是稍微修改了第二部分: %>% modify_column_hide(columns = all_stat_cols())
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-22
    • 2020-12-29
    • 2011-11-01
    • 2011-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多