【问题标题】:Tbl_regression from the gtsummary package for negative binomial regressions来自 gtsummary 包的 Tbl_regression 用于负二项式回归
【发布时间】:2021-07-07 16:54:35
【问题描述】:

为了评估某些患者组(患者组;分类变量)和疾病(疾病结果;计数变量)之间是否存在关联,我正在运行负二项式回归模型(由于过度分散)。为了检查其他变量的混淆,我正在运行 3 个协变量数量不断增加的模型。

要显示 IRR 和 CI,我想使用包 gtsummary 中的 tbl_regression 函数(我使用的是最新版本 1.3.7.9022)。但是,调用该函数会返回 IRR 和相应的 95% CI 非指数化,即使我输入了 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

这将返回汇总表,但尚未对回归系数求幂。有没有办法让 gtsummary 返回指数系数和 CI?

谢谢!

【问题讨论】:

  • 我去看看。你能用一个可重现的例子(也就是我可以在我的机器上运行的代码)更新帖子吗?
  • 再次感谢您的精心回复。我已经更新了代码,所以它可以运行了。

标签: r regression exponentiation binomial-coefficients gtsummary


【解决方案1】:

我只是在四处闲逛,看看发生了什么。 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 创建

【讨论】:

  • 仅供参考,negbin 模型的整洁现在具有指数参数。 github.com/tidymodels/broom/pull/1012
  • 非常感谢您的回复。我将用可运行的代码构建未来的帖子。
  • 亲爱的@daniel-d-sjoberg。也许我做错了什么,但是对于包版本1.4.0.9000,当我尝试运行上面示例中的代码时,我收到错误消息Error in tidy_fun %||% broom.helpers::tidy_with_broom_or_parameters : object 'my_negbin_tidy' not found。有没有办法解决这个错误?
  • 您可以使用 tidyverse reprex 包将代码添加到适当的 reprex 中吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-14
  • 1970-01-01
  • 2018-10-06
  • 2021-10-11
  • 1970-01-01
  • 2021-02-04
相关资源
最近更新 更多