繁体   English   中英

在R中使用带有foreach()的set.seed()

[英]Use set.seed() with foreach() in R

我目前正在使用R中的for循环运行模拟,但是想要切换到foreach循环,因为它更快。 我在for循环中使用set.seed(),并希望再次使用foreach,因此我可以获得相同的结果。

例如,假设我有

x <- c()
for (i in 1:10){
    set.seed(i)
    x[i] <- rnorm(1)
}

我如何使用foreach做同样的事情? 我认为这不起作用:

x <- foreach(i = 1:10, ...) %dopar% {set.seed(i) ... }

这有效:

library (foreach)

fn<-function(i)
{
  set.seed(i)
  y <- rnorm(1)
  return(y)
}

x<-foreach(i=1:10) %do% fn(i)
print(x)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM