小编Jak*_*ken的帖子

分组运行多个变量的单一线性回归

我正在尝试对大量变量运行简单的单一线性回归,并根据另一个变量进行分组。以 mtcars 数据集为例,我想在 mpg 和每个其他变量(mpg ~ disp、mpg ~ hp 等)之间运行单独的线性回归,并按另一个变量(例如 cyl)分组。

使用 purrr::map 可以轻松地在每个变量上独立运行 lm (根据这个很棒的教程修改 - https://sebastiansauer.github.io/EDIT-multiple_lm_purrr_EDIT/):

library(dplyr)
library(tidyr)
library(purrr)

mtcars %>%
  select(-mpg) %>% #exclude outcome, leave predictors
  map(~ lm(mtcars$mpg ~ .x, data = mtcars)) %>%
  map_df(glance, .id='variable') %>%
  select(variable, r.squared, p.value)

# A tibble: 10 x 3
   variable r.squared  p.value
   <chr>        <dbl>    <dbl>
 1 cyl          0.726 6.11e-10
 2 disp         0.718 9.38e-10
 3 hp           0.602 1.79e- 7
 4 drat         0.464 1.78e- 5
 5 wt           0.753 1.29e-10
 6 qsec …
Run Code Online (Sandbox Code Playgroud)

iteration grouping r linear-regression purrr

5
推荐指数
1
解决办法
901
查看次数

标签 统计

grouping ×1

iteration ×1

linear-regression ×1

purrr ×1

r ×1