tbl_regression 的 Wald CI tibble 不会对值求幂

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

这件事让我发疯。下面的例子来自文档: https://www.danieldsjoberg.com/gtsummary/articles/gallery.html#wald-ci

基本上,我正在运行逻辑回归并尝试使用 tbl_regression 为我提供可发布的表。默认情况下,tbl_regression 发布 Wald p 值,但发布轮廓似然置信区间。根据文档,我可以通过使用 tibble 强制它使用 Wald CI。

我的问题是下面的代码对 OR 求幂,但不对置信区间求幂。我尝试将 my_tidy 函数中的“exponentiate = FALSE”更改为“exponentiate = TRUE”,但没有什么区别。我该如何解决这个问题?

my_model <- glm(outcome ~ var1 + var2 + var3 + var4, family = binomial (link = logit), data=df)

my_tidy <- function(x, exponentiate = FALSE, conf.level = 0.95, ...) {
  dplyr::bind_cols(
    broom::tidy(x, exponentiate = exponentiate, conf.int = FALSE),
    # calculate the confidence intervals, and save them in a tibble
    confint.default(x) |> 
      dplyr::as_tibble() |> 
      rlang::set_names(c("conf.low", "conf.high"))
  )
}

tbl_regression(my_model, tidy_fun = my_tidy, exponentiate = TRUE)

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

您只需要对优势比的置信区间求幂即可。置信区间是用

confint.default()
构建的,但代码中没有任何内容对其求幂。所以只需将
confint.default()
包裹在
exp()
中即可:

my_tidy <- function(x, exponentiate = FALSE, conf.level = 0.95, ...) {
  dplyr::bind_cols(
    broom::tidy(x, exponentiate = exponentiate, conf.int = FALSE),
    # calculate the confidence intervals, and save them in a tibble
    exp(confint.default(x)) |> 
      dplyr::as_tibble() |> 
      rlang::set_names(c("conf.low", "conf.high"))
  )
}
© www.soinside.com 2019 - 2024. All rights reserved.