如何在R语言的gtsummary中为分层表头标签添加N值?
解决方法
要在Grade后添加对应分层的样本量N值,你可以在tbl_strata的子表处理流程中加入modify_spanning_header(),利用内置变量直接拼接带N值的分层标题:
方案一(基于你现有代码修改)
trial %>% select(trt, grade, age, stage) %>% mutate(grade = paste("Grade", grade)) %>% tbl_strata( strata = grade, ~.x %>% tbl_summary(by = trt, missing = "no") %>% modify_header(all_stat_cols() ~ "**{level}**") %>% # 为分层标题添加N值 modify_spanning_header(all_strata() ~ "{strata} (N={n})") )
方案二(更简洁,省去提前mutate步骤)
如果你的grade列原始值是数字(如1、2、3),可以直接在标题中拼接"Grade",无需提前修改列值:
trial %>% select(trt, grade, age, stage) %>% tbl_strata( strata = grade, ~.x %>% tbl_summary(by = trt, missing = "no") %>% modify_header(all_stat_cols() ~ "**{level}**") %>% modify_spanning_header(all_strata() ~ "Grade {strata} (N={n})") )
关键说明
modify_spanning_header(all_strata() ~ "{strata} (N={n})")中:{strata}会引用当前分层的原始值(比如方案一中的"Grade 1",方案二中的"1"){n}会自动提取当前分层的样本量,无需手动计算
内容的提问来源于stack exchange,提问作者Juicebox
相关产品推荐
相关产品推荐

