使用 broom::tidy 向嵌套数据框中的线性模型添加置信区间

Using the broom::tidy to add confidence intervals to linear models in nested data frame

我一直在尝试按照 Hadley Wickham 为 运行 嵌套数据框中的多个模型制定的方法 https://r4ds.had.co.nz/many-models.html

我已经设法在下面编写了这段代码来创建多个线性模型:

#create nested data frame
by_clin_grp <- df_long %>%
  group_by(clin_risk) %>%
  nest()

#create a function to run the linear models
model <- function(df){
  lm(outcome ~ age + sex + clin_sub_grp, data =df)
}

#run the models
by_clin_grp <- by_clin_grp %>%
  mutate(model = map(data,model))


#unnest the models using the broom package 
by_clin_grp_unnest <- by_clin_grp %>%
  mutate(tidy = map(model, broom::tidy))%>%
  unnest(tidy)

但是,我需要在我的回归估计值周围添加置信区间。似乎我应该能够按照 the help page 使用 broom::tidy 添加它们,但我无法弄清楚如何在上面的代码中正确指定它?

您必须在map中指定相关参数。有两种可能:

by_clin_grp_unnest <- by_clin_grp %>%
  mutate(tidy = map(model, ~broom::tidy(.x, conf.int = TRUE, conf.level = 0.99)))%>%
  unnest(tidy)

by_clin_grp_unnest <- by_clin_grp %>%
  mutate(tidy = map(model, broom::tidy, conf.int = TRUE, conf.level = 0.99)) %>%
  unnest(tidy)

两者是等价的,只是语法不同