![](/img/trans.png)
[英]How to include confidence intervals from multiple models in tidy output using broom?
[英]Exponentiating GAM coefficients and confidence intervals using broom::tidy
我正在使用mgcv::gam
运行广义加法模型,并尝试使用broom:tidy
组织我的结果,但tidy
显然不会对 GAM 的系数或置信区间进行指数化,尽管它适用于常规glm
模型。 是否有broom::tidy
方法对 GAM 中的系数和 CI 求幂? 我特别询问tidy
因为我想在gtsummary
创建的回归表中使用结果。
library(tidyverse)
library(magrittr)
library(mgcv)
library(parameters)
library(gtsummary)
library(broom)
# sample data
id <- 1:2000
gender <- sample(0:1, 2000, replace = T)
age <- sample(17:64, 2000, replace = T)
race <- sample(0:1, 2000, replace = T)
health_score <- sample(0:25, 2000, replace = T)
dead <- sample(0:1, 2000, replace = T)
days_enrolled <- sample(30:3000, 2000, replace = T)
df <- data.frame(id, gender, age, race, health_score, dead, days_enrolled)
# model
model <- gam(dead ~ gender + s(age) + race + s(health_score) + offset(log(days_enrolled)),
data = df, method = "REML", family = nb())
# both give the same output:
tidy(model, parametric = T, conf.int = T)
tidy(model, parametric = T, conf.int = T, exponentiate = T)
您可以直接使用tbl_regression()
对结果求幂。 如果这不是你所追求的,请告诉我。
library(tidyverse)
library(mgcv)
library(parameters)
library(gtsummary)
library(broom)
# sample data
id <- 1:2000
gender <- sample(0:1, 2000, replace = T)
age <- sample(17:64, 2000, replace = T)
race <- sample(0:1, 2000, replace = T)
health_score <- sample(0:25, 2000, replace = T)
dead <- sample(0:1, 2000, replace = T)
days_enrolled <- sample(30:3000, 2000, replace = T)
df <- data.frame(id, gender, age, race, health_score, dead, days_enrolled)
# model
model <- gam(dead ~ gender + s(age) + race + s(health_score) + offset(log(days_enrolled)),
data = df, method = "REML", family = nb())
tbl_regression(model, exponentiate = TRUE)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.