gpt4 book ai didi

使用 R 中的 tbl_regression 函数在一列中具有 95%CI 的回归系数?

转载 作者:行者123 更新时间:2023-12-05 04:51:17 24 4
gpt4 key购买 nike

为了测试疾病组(分类变量)和疾病(结果;二分法)之间是否存在关联,我正在运行逻辑回归。为了检查其他变量的混杂,我运行了 3 个具有不同数量协变量的模型。

为了显示 OR 和 CI,我使用 gtsummary 包中的 tbl_regression 函数(我使用 dplyr 函数 mutate 来显示圆括号中的 CI)。但是,这会将 CI 显示在与 OR 不同的列中,但我希望它们与 OR 后的圆括号中的 CI 位于同一列中。

我的代码:

library(gtsummary)
library(dplyr)

Model 1 <-
glm(data=wide_dataset, formula=outcome ~ categorical_variable,
family=binomial(link="logit") %>%
tbl_regression(
exponentiate = TRUE) %>%
# remove the p-value column
modify_column_hide(column=p.value) %>%
# CI in round brackets:
modify_table_body(mutate,
ci=gsub("(\\d\\.\\d{,4})(, )(\\d\\.\\d{,4})"
,"\\(\\1 \\3\\)",
ci))

Model 1

提前致谢!

最佳答案

使用包的开发版本(将在下周发布到 CRAN)将比值比和 CI 放在同一列中要容易得多。

如果您使用 JAMA 期刊主题,OR 和 CI 将自动合并到一个列中。

remotes::install_github("ddsjoberg/gtsummary")
library(gtsummary)
packageVersion("gtsummary")
#> [1] '1.3.7.9016'

# set the JAMA theme to display OR and CI in same column
theme_gtsummary_journal("jama")
#> Setting theme `JAMA`

tbl <-
glm(response ~ age + grade, data = trial, family = binomial) %>%
tbl_regression(exponentiate = TRUE) %>%
modify_column_hide(p.value)

enter image description herereprex package 创建于 2021-04-07 (v2.0.0)

此代码也可以在不设置 JAMA 期刊主题的情况下使用。

tbl <-
glm(response ~ age + grade, data = trial, family = binomial) %>%
tbl_regression(exponentiate = TRUE) %>%
# merge OR and CI into single column
modify_table_styling(
column = estimate,
rows = !is.na(estimate),
cols_merge_pattern = "{estimate} ({conf.low} to {conf.high})"
) %>%
modify_header(estimate ~ "**OR (95% CI)**") %>%
modify_column_hide(c(ci, p.value))

听起来您想比较多个模型。下面介绍如何将它们放在同一个表中。

list(tbl, tbl, tbl) %>%
tbl_merge(tab_spanner = paste0("**Model ", 1:3, "**"))

enter image description here

关于使用 R 中的 tbl_regression 函数在一列中具有 95%CI 的回归系数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66988103/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com