在gtsummary包中添加百分比分组变量

问题描述 投票:0回答:1

我正在根据 pubh 包中包含的 Bernard 数据的死亡率状态(变量“命运”)创建 gtsummary 表。

我面临的问题是我想在计数旁边添加“死亡”和“活着”的百分比。 但由于这是分组变量,所以我无法配置它

这是我的表格示例代码:

library(pubh)
library(dplyr)
library(gtsummary)

data("Bernard")


na.omit(Bernard)  %>% select(fate, race, apache) %>%
  tbl_summary(by = fate,
              
     type =  list(race ~ "categorical", apache ~ "continuous"),
     statistic = list(all_continuous() ~ "{min}, {max}", all_categorical() ~ "{p}%"),
     digits = list(all_continuous() ~ 2, all_categorical() ~ 2),
     missing_text = "(Missing)" ) %>% 
                
     add_stat_label() %>%
     modify_header(label ~ "**Variable**") %>%
     modify_caption("**Table 1. Summary statistics by  Mortality Status**") %>%
     modify_spanning_header(c("stat_1", "stat_2") ~ "**Fate**") %>%
     bold_labels() %>%
     italicize_labels() %>%
     italicize_levels() 

这是输出:

Rendered table

理想情况下,我希望显示表格:

活着,N = 96 (67%) 死了,N = 47 (32%)

我尝试将

fate
变量列为分类变量,然后提供百分比统计数据:

type =  list(c(race, fate) ~ "categorical", apache ~ "continuous"),   
statistic = list(all_continuous() ~ "{min}, {max}", all_categorical() ~ "{p}%", **fate ~ "{p}%"**),

这不起作用。

我还认为在使用 tbl_summary() 之前使用 mutate 创建一个新变量可能会起作用,但我很好奇是否可以在 tbl_summary() 中显式配置它。

r dplyr statistics gtsummary
1个回答
4
投票

您可以使用

modify_header()
功能将百分比添加到标题。下面的例子!

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

trial %>%
  tbl_summary(
    by = trt, 
    include = age
  ) %>%
  modify_header(all_stat_cols() ~ "**{level}**, N={n} ({style_percent(p)}%)") %>%
  as_kable() # convert to kable to display on stackoverflow
特点 药物A,N=98(49%) 药物B,N=102(51%)
年龄 46 (37, 59) 48 (39, 56)
未知 7 4

创建于 2022 年 12 月 24 日,使用 reprex v2.0.2

© www.soinside.com 2019 - 2024. All rights reserved.