问题描述
我想对列中的多个组运行一系列线性回归。对于跨行的组分层,我可以使用此处建议的想法(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