Итак, я успешно использовал foreach% dopar% в R с одной петлей (скажем «i»).Прямо сейчас я пытаюсь использовать foreach с двумя циклами (скажем, «i» и «j»).
Мне нужно запустить корреляционный анализ между двумя большими фреймами данных.DF1 имеет 22 объекта и 280 выборок (значение «i» проходит по строкам этого DF).DF2 имеет около 20 000 объектов и те же 280 выборок (значение «j» проходит по строкам этого DF)
Из моей отладки я понял, что написанный мной код работает только для циклов, гдеi и j имеют одинаковое значение.i, e, для 1 и j = 1, 2, .... 22.
Цикл не работает для других значений j.Может ли кто-нибудь помочь мне понять, как отредактировать код, чтобы он работал для всех значений «i» и «j»?Большое спасибо!
Мой код ниже.
corrResult1<-foreach(i=1:nrow(DF1),j=1:nrow(DF2),.combine=rbind) %dopar% {
oneValueDF1 = as.numeric(DF1[i,])
oneValueDF2 = as.numeric(DF2[j,])
myCor1 = cor(x = oneValueDF1, y = oneValueDF2 , method = "pearson")
#correlation test
myCor1_test = cor.test(oneValueDF2, oneValueDF1, method="pearson")
tempMatrix = cbind(oneValueDF1, oneValueDF2,
myCor1_test$statistic, # T stat
myCor1_test$parameter, #DF
myCor1_test$p.value, #p alue
myCor1_test$estimate, #corr coeff
myCor1_test$conf.int[1], #conf int 1
myCor1_test$conf.int[2], #conf int 2
myCor1_test$null.value,
myCor1_test$alternative,
myCor1_test$method)
tempMatrix
}