R set.seed() с foreach

Я пытаюсь воспроизвести некоторые результаты без удачи. Допустим, у меня есть следующее в R:

x=rep(NaN,5)
for (i in 1:5) { 
set.seed(i)
X=runif(10)
x[i]=mean(X)
}

Предположим, теперь мне нужно воспроизвести третью итерацию. Затем:

set.seed(3)
runif(10)

делая это, я получаю те же результаты. ПРОБЛЕМА начинается, когда я пытаюсь распараллелить мой цикл, используя foreach. Я прочитал, что пакет doRNG может решить проблему, поэтому у меня есть следующий код:

set.seed(123)    
y=foreach(i=1:5) %dorng% {
X=runif(10)
x=mean(X)
return(x)
}

Который возвращает не только предполагаемое среднее, но и последовательность случайных семян в качестве атрибута:

attr(y, "rng")

## [[1]]
## [1]   407  642048078  81368183  -2093158836  506506973  1421492218  -19063881517
## [[2]]
## [1]   407  1340772676  -1389246211  -999053355  -953732024  1888105061  2010658538

И так для 5 повторений.

Как мне повторить 3-ю итерацию? Большое спасибо за ваше время и помощь.

0 ответов

Другие вопросы по тегам