一般的な配列を並列に記入するためにRでいくつかのforeachループを使用しようとしています。私がやろうとしています何の非常に単純化されたバージョンは次のとおりです。一般的な配列を更新するために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例を小さくするときに忘れた – joshdr83