【问题标题】:gtsummary p value factor levelsgtsummary p 值因子水平
【发布时间】:2021-08-06 13:45:45
【问题描述】:

我正在创建一个 tbl_summary 并添加一个 p 值以进行组间比较。是否可以添加 p 值来比较组间的因子水平?即 I 级(35 对 33)、II 级(32 对 36)和 III 级(21 对 43)的 p 值,而不仅仅是总体 p 0.080。

带有add_p()的标准表

library(gtsummary)
library(dplyr) 
    trial %>% 
      select(death,grade) %>% 
      tbl_summary(by = death) %>% 
      add_p() # can something be added to this call for p-compairsons?

这是我想要的结果,但是否有 add_p() 的内置方法可以为许多变量获取此结果?

 trial %>% 
  select(death,grade) %>% 
  mutate(rn = row_number()) %>% 
  tidyr::spread(grade,grade) %>% 
  mutate(across(matches("(I)"), ~ ifelse(is.na(.),0,1))) %>%
  select(-rn) %>% 
  tbl_summary(by = death) %>% 
  add_p()

【问题讨论】:

    标签: r gtsummary


    【解决方案1】:

    无法修改 add_p() 以添加您请求的 p 值。您可以使用 add_stat() 使用自定义函数来完成此操作,或者您在上面所做的方式也很棒。

    我稍微修改了您的代码,为年级添加了一个标签行,并缩进了级别。

    library(gtsummary)
    library(tidyverse)
    
    tbl <- 
      trial %>% 
      select(death,grade) %>% 
      mutate(rn = row_number()) %>% 
      tidyr::spread(grade,grade) %>% 
      mutate(across(matches("(I)"), ~ ifelse(is.na(.),0,1))) %>%
      select(-rn) %>% 
      tbl_summary(by = death) %>% 
      add_p() %>%
      # add header row for grade, and indenting levels
      modify_table_body(
        ~ .x %>%
          mutate(
            row_type = "level",
            variable = "grade"
          ) %>%
          {bind_rows(tibble(variable = "grade", row_type = "label", label = "Grade"), .)}
      )
    

    reprex package (v2.0.0) 于 2021-08-06 创建

    【讨论】:

    • 谢谢,我去看看 add_stat()
    猜你喜欢
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多