I want to run a series of linear regressions for multiple groups across columns. For the group stratification across rows, I can use the idea suggested here (Fitting several regression models with dplyr). In addition to that, I also need to regress them across different columns. See below the code I achieved with the loop. I wonder whether I can do both in a vectorized manner using the map function in package purrr together with the function of group_by in dplyr package and export the estimated beta coefficients and p values accordingly.
library(dplyr)
library(broom)
head(mtcars)
vec<-names(mtcars)[3:9]
data=NULL
for (i in 1:length(vec)){ 
df<-mtcars%>% 
    group_by(cyl)%>%
  do(  fit = lm( paste('mpg ~disp+',vec[i]), data = .)) 
  dfCoef = tidy(df, fit)
  res<-dfCoef %>% 
    filter(term=='disp')
  res$con=vec[i]
  data=bind_rows(data,res)
  }
data
 
    