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 创建