【发布时间】:2015-09-30 04:29:07
【问题描述】:
我有这个代码:
library(doParallel)
registerDoParallel(cores = 8)
result = foreach(A = c(1, 2, 3),B = c(10, 20), .combine = list) %dopar% {
A*B
}
结果
[[1]]
[1] 10
[[2]]
[1] 40
但我想要: 10、20、30、20、40、60
【问题讨论】:
-
foreach(A = c(1, 2, 3))%:%foreach(B = c(10, 20), .combine = cbind)%dopar%{A*B} -
作为旁注,我来到这里试图找出有一个
foreach循环,其中一个循环依赖于第一个循环,这样外部循环就不必等待内循环完成。 @Khashaa 的构造适用于此,如图所示:foreach(A = c(1, 2, 3))%:%foreach(B = c(A, 20), .combine = cbind)%dopar%{c(A,B)}
标签: r foreach doparallel