在 R 中使用 gtsummary 在一张表中显示多个逻辑回归

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

我需要在同一个表中显示多个逻辑回归,并且当我在文档其他地方使用

gtsummary
表时,我想知道是否有一种惯用的方法来使用
gtsummary
来做到这一点?数据是一列中不同因素的单变量逻辑回归结果以及相同因素的多变量逻辑回归结果,并排显示。

考虑以下示例作为使用

trial
数据集的说明:

library(gtsummary)

mdls <- list()
for (stage in levels(trial$stage)) {
  mdls[[stage]] <- list(
    uv = glm(I(stage == stage) ~ death, data = trial, family = "binomial"), 
    mv = glm(I(stage == stage) ~ death + age, data = trial, family = "binomial")
  )
}

我想弄清楚如何创建一个看起来像这样的表格(发明数据):

desired output table

任何指针以及如何实现此目的,是否使用哪些

gtsummary
函数,或者如何组装数据以提供给
gtsummary
,或者我是否应该为此放弃
gtsummary
并使用
“手动构建表格” gt

我尝试了各种“hacky”方法,例如为每个回归创建单独的表,删除除相关行之外的所有行,更改行特征,然后将

tbl_stack()
tbl_merge()
更改为最终表。它有效,但并不漂亮。同样,我尝试手动制作一个小标题来提供给
tbl_summary()
,它看起来正确,也可以工作,但同样丑陋。这些解决方案最终比简单地使用
gt
构建表格然后使用与
gtsummary
相同的样式要复杂得多。

r logistic-regression gtsummary
1个回答
0
投票

您可以使用

univ
为单变量回归创建一个表
tbl_uvregression
(请参阅此处

然后使用

multiv
创建一个包含多变量回归的表
tbl_regression
(参见此处

然后使用

tbl_merge
合并这两个表:

table <- tbl_merge(tbls = list(univ, multiv), tab_spanner = c("**Univariate**", "**Multivariable**"))

这应该将单变量和多变量结果并排放置在一个表中。试试这是否有效!

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