【问题标题】:Gtsummary split add_n between groupsGtsummary 在组之间拆分 add_n
【发布时间】:2021-08-06 05:34:01
【问题描述】:

示例数据

library(gtsummary)
trial2 <- trial %>% select(trt, age, grade)


trial2 %>%
  tbl_summary(by = trt) %>%
  add_p(pvalue_fun = ~style_pvalue(.x, digits = 2)) %>%
  add_overall() %>%
  add_n() %>%
  modify_header(label ~ "**Variable**") %>%
  modify_spanning_header(c("stat_1", "stat_2") ~ "**Treatment Received**") %>%
  modify_footnote(
    all_stat_cols() ~ "Median (IQR) or Frequency (%)"
  ) %>%
  modify_caption("**Table 1. Patient Characteristics**") %>%
  bold_labels()

输出提供此

如何按组拆分为每个变量列出的 N,它当前指的是整个队列可用的 n,这样列就像 变量名,N 可用于第 1 组,第 1 组,N 可用于第 2 组,p 值

【问题讨论】:

    标签: r gtsummary


    【解决方案1】:

    您可以使用add_stat() 函数添加自定义统计信息。下面的例子!

    library(gtsummary)
    
    add_by_n <- function(data, variable, by, tbl, ...) {
      data %>%
        select(all_of(c(variable, by))) %>%
        dplyr::group_by(.data[[by]]) %>%
        dplyr::summarise_all(~sum(!is.na(.))) %>%
        rlang::set_names(c("by", "variable")) %>%
        dplyr::left_join(
          tbl$df_by %>% select(by, by_col),
          by = "by"
        ) %>%
        mutate(
          by_col = paste0("add_n_", by_col),
          variable = style_number(variable)
        ) %>%
        select(-by) %>%
        tidyr::pivot_wider(names_from = by_col, 
                           values_from = variable)
    }
      
    tbl <- 
      trial %>%
      select(trt, age, grade) %>%
      tbl_summary(by = trt) %>%
      add_p(pvalue_fun = ~style_pvalue(.x, digits = 2)) %>%
      add_overall() %>%
      add_n() %>%
      add_stat(
        fns = everything() ~ add_by_n
      ) %>%
      modify_header(starts_with("add_n_stat") ~ "**N**") %>%
      modify_table_body(
        ~ .x %>%
          dplyr::relocate(add_n_stat_1, .before = stat_1) %>%
          dplyr::relocate(add_n_stat_2, .before = stat_2)
      ) %>%
      modify_spanning_header(
        c(all_stat_cols(F), starts_with("add_n_stat")) ~ "**Treatment Received**"
      )
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-16
      • 1970-01-01
      • 1970-01-01
      • 2018-02-02
      相关资源
      最近更新 更多