假设我要运行一系列回归,如下所示:
summary(lm(mpg ~ cyl, data = mtcars))
summary(lm(mpg ~ disp, data = mtcars))
summary(lm(mpg ~ wt, data = mtcars))
我想创建一个数据框,其中包含每个输出的估计值和标准误差,最好包含变量名。因此最终输出应如下所示:
Variable Beta Coeff
cyl -2.8 .32
disp -.04 .004
wt -5.3 .56
我认为它将需要一个功能。有什么想法吗?
最佳答案
一种简单的方法是在purrr
中使用broom
和tidyverse
软件包。
library(purrr)
library(broom)
cols <- c("cyl", "disp", "wt")
map_df(cols, ~lm(reformulate(.x, "mpg"), data=mtcars) %>% tidy())
# term estimate std.error statistic p.value
# <chr> <dbl> <dbl> <dbl> <dbl>
# 1 (Intercept) 37.9 2.07 18.3 8.37e-18
# 2 cyl -2.88 0.322 -8.92 6.11e-10
# 3 (Intercept) 29.6 1.23 24.1 3.58e-21
# 4 disp -0.0412 0.00471 -8.75 9.38e-10
# 5 (Intercept) 37.3 1.88 19.9 8.24e-19
# 6 wt -5.34 0.559 -9.56 1.29e-10
这为您提供了一些额外的信息,但是您可以根据需要使用
dplyr
轻松过滤掉它。关于r - 将一系列回归的结果顺序存储到数据框中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55910303/