r语言 - 如何使用两个数据帧(一个用于依赖变量,另一个用于自变量)为glm创建双循环?



我觉得我的代码有点问题,但不知道如何使它工作。我试图使用一个数据框架中的所有列作为自变量,另一个数据框架中的所有列作为依赖(运行多个单变量模型),我将非常感谢任何建议。

A <- as.data.frame( matrix(rnorm(1:(250*4)), ncol = 4) )
colnames(a) <- paste0("A", 1:ncol(a))
B <- as.data.frame( matrix(rnorm(1:(250*6)), ncol = 6) )
model_<-list()
results_<-list()
for (i in 1:ncol(A)){
for (j in 1:ncol(B)){
model_<-glm(A[,i]~B[,j], family=quasipoisson){
results_<-lapply(model_, function(x) anova(x, test="F"))
}
}
}

可以初始化固定长度的列表。跟踪索引,以便在列表中存储数据。

A <- as.data.frame( matrix(abs(rnorm(1:(250*4))), ncol = 4) )
colnames(A) <- paste0("A", 1:ncol(A))
B <- as.data.frame( matrix(abs(rnorm(1:(250*6))), ncol = 6) )
model_<- vector('list', ncol(A) * ncol(B))
results_<- vector('list', ncol(A) * ncol(B))
k <- 1
for (i in 1:ncol(A)){
for (j in 1:ncol(B)){
model_[[k]] <-glm(A[,i]~B[,j], family=quasipoisson)
results_[[k]] <-anova(model_[[k]], test="F")
k <- k + 1
}
}

最新更新