问题描述
在创建gtsummary::add_glance_source_note()
时,我希望获得与gtsummary::tbl_merge()
相同的结果。
该函数本身使用一个tbl_regression
作为参数,因此在合并管道中没有使用它,并且如果我将注释添加到各个表中,则在合并表时它们会丢失。
library(tidyverse)
library(gtsummary)
library(nycflights13)
lm_1 <- lm(arr_delay ~ air_time,flights)
tbl_1 <- tbl_regression(lm_1,exponentiate = F) %>%
add_glance_source_note(include = c('r.squared'))
lm_2 <- lm(distance ~ air_time,flights)
tbl_2 <- tbl_regression(lm_2,exponentiate = F) %>%
add_glance_source_note(include = c('r.squared'))
tbl_1
tbl_2
两个表的脚注均表示其模型的R平方。但是,当我合并表格时,脚注中的适合信息会丢失:
table.pub <- tbl_merge(
list(tbl_1,tbl_2),tab_spanner = c("Delay","distance")
)
是否可以保留“ glance
”信息,或将其重新附加到最终合并表中?
谢谢!
解决方法
将扫视统计信息添加为原始注释。棘手的是,源注释适用于整个表。当您只有一个tbl_regression()
表时,很清楚统计信息指的是什么。但是,一旦合并一个或多个,尚不清楚应如何呈现原始注释。因此,合并后不会显示它们。
但是,注释将保存在gtsummary表中,您可以打印它们。在下面的示例中,我通过模型的结果标记每个R2值,并将它们添加到合并表中。
编程愉快!
library(tidyverse)
library(gtsummary)
library(nycflights13)
lm_1 <- lm(arr_delay ~ air_time,flights)
tbl_1 <- tbl_regression(lm_1,exponentiate = F) %>%
add_glance_source_note(include = c('r.squared'))
lm_2 <- lm(distance ~ air_time,flights)
tbl_2 <- tbl_regression(lm_2,exponentiate = F) %>%
add_glance_source_note(include = c('r.squared'))
tbl_1
tbl_2
tbl_merge(
list(tbl_1,tbl_2),tab_spanner = c("**Delay**","**Distance**")
) %>%
as_gt() %>%
gt::tab_source_note(
str_glue("Delay {tbl_1$list_output$source_note}; ","Distance {tbl_1$list_output$source_note}")
)