Tbl_regression 来自负二项式回归的 gtsummary 包
Tbl_regression from the gtsummary package for negative binomial regressions
评估某些患者组(patient_group;分类变量)与疾病(disease_outcome;计数变量)之间是否存在关联,我是 运行 负二项式回归模型(由于过度分散)。为了检查其他变量的混杂,我是 运行 3 个协变量数量不断增加的模型。
要显示 IRR 和 CI,我想使用包 gtsummary
中的 tbl_regression
函数(我使用的是最新版本 1.3.7.9022)。但是,即使我输入 exponentiate=TRUE
:
,调用函数 returns IRR 和相应的 95% CI 是非指数的
# Load packages
library(haven)
library(magrittr)
library(MASS)
library(dplyr)
install.packages("gtsummary")
remotes::install_github("ddsjoberg/gtsummary")
library(gtsummary)
# Load example data.
dat <- read_dta("https://stats.idre.ucla.edu/stat/stata/dae/nb_data.dta")
dat <- within(dat, {
prog <- factor(prog, levels = 1:3, labels = c("General", "Academic", "Vocational"))
id <- factor(id)
})
# Run negative binomial regression and pipe in the tbl_regression function
Model 1 <-
glm.nb(data=dat, formula=daysabs ~ prog) %>%
tbl_regression(exponentiate=TRUE)
Model 1
此 return 是摘要 table,但回归系数尚未取幂。有没有办法让 gtsummary 得到 return 指数系数和 CI?
谢谢!
我只是四处看看发生了什么。 tbl_regression()
函数在后台使用 broom::tidy()
。 7 天前刚刚添加了对 negbin 模型的支持,但由于某种原因,未为此类模型添加 exponentiate=
参数。
我要请求添加它。同时,这段代码应该可以让您开始使用 negbin 模型。
library(gtsummary)
library(tidyverse)
# add a custom tidying function
my_negbin_tidy <- function(x, exponentiate = FALSE, ...) {
df_tidy <- broom::tidy(x, ...)
# exponentiate coef and CI if requested
if (exponentiate) {
df_tidy <-
df_tidy %>%
mutate_at(vars(any_of(c("estimate", "conf.low", "conf.high"))), exp)
}
df_tidy
}
# build model
mod <- MASS::glm.nb(response ~ age, gtsummary::trial)
# summarize model results
tbl <-
tbl_regression(
mod,
exponentiate = TRUE,
tidy_fun = my_negbin_tidy
)
由 reprex package (v2.0.0)
于 2021-04-12 创建
评估某些患者组(patient_group;分类变量)与疾病(disease_outcome;计数变量)之间是否存在关联,我是 运行 负二项式回归模型(由于过度分散)。为了检查其他变量的混杂,我是 运行 3 个协变量数量不断增加的模型。
要显示 IRR 和 CI,我想使用包 gtsummary
中的 tbl_regression
函数(我使用的是最新版本 1.3.7.9022)。但是,即使我输入 exponentiate=TRUE
:
# Load packages
library(haven)
library(magrittr)
library(MASS)
library(dplyr)
install.packages("gtsummary")
remotes::install_github("ddsjoberg/gtsummary")
library(gtsummary)
# Load example data.
dat <- read_dta("https://stats.idre.ucla.edu/stat/stata/dae/nb_data.dta")
dat <- within(dat, {
prog <- factor(prog, levels = 1:3, labels = c("General", "Academic", "Vocational"))
id <- factor(id)
})
# Run negative binomial regression and pipe in the tbl_regression function
Model 1 <-
glm.nb(data=dat, formula=daysabs ~ prog) %>%
tbl_regression(exponentiate=TRUE)
Model 1
此 return 是摘要 table,但回归系数尚未取幂。有没有办法让 gtsummary 得到 return 指数系数和 CI?
谢谢!
我只是四处看看发生了什么。 tbl_regression()
函数在后台使用 broom::tidy()
。 7 天前刚刚添加了对 negbin 模型的支持,但由于某种原因,未为此类模型添加 exponentiate=
参数。
我要请求添加它。同时,这段代码应该可以让您开始使用 negbin 模型。
library(gtsummary)
library(tidyverse)
# add a custom tidying function
my_negbin_tidy <- function(x, exponentiate = FALSE, ...) {
df_tidy <- broom::tidy(x, ...)
# exponentiate coef and CI if requested
if (exponentiate) {
df_tidy <-
df_tidy %>%
mutate_at(vars(any_of(c("estimate", "conf.low", "conf.high"))), exp)
}
df_tidy
}
# build model
mod <- MASS::glm.nb(response ~ age, gtsummary::trial)
# summarize model results
tbl <-
tbl_regression(
mod,
exponentiate = TRUE,
tidy_fun = my_negbin_tidy
)
由 reprex package (v2.0.0)
于 2021-04-12 创建