【发布时间】:2013-07-04 16:47:02
【问题描述】:
我试图在 R 中使用几个 foreach 循环来并行填充一个公共数组。我正在尝试做的一个非常简化的版本是:
library(foreach)
set.seed(123)
x <- matrix(NA, nrow = 8, ncol = 2)
foreach(i=1:8) %dopar% {
foreach(j=1:2) %do% {
l <- runif(1, i, 100)
x[i,j] <- i + j + l #This is much more complicated in my real code.
}
}
我想编写代码以并行更新矩阵x 并使输出如下所示:
> x
[,1] [,2]
[1,] 31.47017 82.04221
[2,] 45.07974 92.53571
[3,] 98.22533 12.41898
[4,] 59.69813 95.67223
[5,] 63.38633 55.37840
[6,] 102.94233 56.61341
[7,] 78.01407 69.25491
[8,] 26.46907 100.78390
但是,我似乎无法弄清楚如何更新数组。我曾尝试将x <- 放在别处,但它似乎不喜欢它。我认为这将是一件很容易解决的事情,但我所有的搜索还没有把我带到那里。谢谢。
【问题讨论】:
-
您好,只是一般提示:如果使用特定的包,在示例代码中指出这一点会很有帮助。 (我已经编辑了您的代码以反映)
-
谢谢@RicardoSaporta 我忘了在做小例子时这样做
标签: r foreach parallel-processing