Sto cercando di utilizzare un paio di cicli foreach in R per compilare un array comune in parallelo. Una versione molto semplificata di quello che sto cercando di fare è:cicli foreach nidificati in R per aggiornare l'array comune
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.
}
}
Vorrei codice per aggiornare la matrice x
in parallelo e hanno l'aspetto di uscita come:
> 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
Tuttavia, non posso sembra capire come ottenere l'array per essere aggiornato. Ho provato a mettere il x <-
altrove, ma non sembra piacergli. Penso che sarà una cosa molto semplice da risolvere, ma tutte le mie ricerche non mi hanno ancora condotto. Grazie.
Ciao, solo un consiglio generale: se si utilizza un pacchetto specifico, è utile indicarlo nel codice di esempio. (Ho modificato il tuo codice per riflettere) –
Grazie a @RicardoSaporta Ho dimenticato di farlo quando ho fatto l'esempio piccolo – joshdr83