如何使用向量化在行和列上运行许多回归

问题描述

我想对列中的多个组运行一系列线性回归。对于跨行的组分层,我可以使用此处建议的想法(Fitting several regression models with dplyr)。除此之外,我还需要在不同的列之间进行回归。参见下面我通过 loop 实现的代码。我想知道是否可以同时使用包 purrr 中的map函数 dplyr 包中的group_by函数以向量化方式完成这两项工作,并且相应地导出估算的beta系数和p值。

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

解决方法

使用dummyListMap.add(Map<String,dynamic>.from(mapValue)); 按组和辅助函数执行回归可以像这样实现:

tidyr::(un)nest