【发布时间】:2021-05-19 02:51:04
【问题描述】:
我正在运行具有不同变量等的有序 logit 模型列表。我想将输出转换为整洁的 tibble 以在 ggplot 等中使用。(我还想保存“常规模型输出”,所以我想分开做。)
我想以自动化方式执行此操作,使用 purrr 或 lapply 等,以便能够首先“运行所有模型”(自动化这是稍后的另一个问题)然后“整理所有模型”,后者大概会生成一个 tibbles 列表。
我尝试了以下方法,但它抛出:Error: No tidy method recognized for this list.
clean_model <- function(polr_results) {
lapply(polr_results,
broom::tidy(polr_results, conf.int = TRUE, exponentiate = TRUE) %>%
filter(coef.type=="coefficient") %>%
dplyr::arrange(-str_detect(term, 'd2sd'))
)
}
mtcars_m1 <- mtcars %>% polr(as.factor(cyl) ~ hp , data = ., Hess = TRUE)
mtcars_m2 <- mtcars %>% polr(as.factor(cyl) ~ hp + qsec , data = ., Hess = TRUE)
clean_model(c(mtcars_m1, mtcars_m2))
【问题讨论】:
标签: r dplyr lapply purrr broom