我正在尝试使用R doParallel
包来加速我的for循环。我的for循环更新了多个变量,目前我不知道如何调整doParallel
设置才能做到这一点。
通过可复制的示例:
library("foreach")
library("doParallel")
no_cores <- detectCores() - 1
cl <- makeCluster(no_cores)
registerDoParallel(cl)
nloop <- 20
store <- rep(NA, nloop)
store2 <- rep(NA, nloop)
foreach (i = 1:nloop, .combine = "c") %dopar% {
store[i] <- i
store2[i] <- i*2
}
print(store)
print(store2)
stopCluster(cl)
我目前只能获取store2
的值(或我最后输入的变量)。我尝试过将结果作为列表传递给诸如list(store, store2)
之类的for循环命令的末尾,但这似乎也不起作用。任何指导将不胜感激。