我有超过 100 个线性模型的列表,我想获取每个模型的估计平均值和标准误差。
让我们举mtcars个例子。
library(tidyverse); library(magrittr); library(emmeans)
mtcars %<>%
mutate(
cyl = as.factor(cyl)
)
df <- mtcars %>% select(cyl, hp, mpg)
Run Code Online (Sandbox Code Playgroud)
我可以通过以下方式轻松获得每个模型的估计均值和标准误差emmeans:
mod <- lm(hp ~ cyl, data = df)
emmeans(mod, "cyl")
Run Code Online (Sandbox Code Playgroud)
但是如果我有一个模型列表怎么办?
list_lm <- df %>%
select(-c(cyl)) %>%
map(function(dv) lm(dv ~ df$cyl, data = .))
Run Code Online (Sandbox Code Playgroud)
我不能使用:
emmeans(list_lm$hp, "cyl")
Error in ref_grid(object, ...) : Perhaps a 'data' or 'params' argument is needed
Run Code Online (Sandbox Code Playgroud)
理想情况下,我想要一些能够为我提供所有模型的统计数据的东西。类似于broom::tidy模型的系数,但对于emmeans:
list_lm %>%
map(broom::tidy)
Run Code Online (Sandbox Code Playgroud)