相关疑难解决方法(0)

使用“L'Ecuyer-CMRG”RNG 时,R 不会重置种子?

我在 R 中进行了一些并行模拟,我注意到使用“L'Ecuyer-CMRG”rng 时种子没有改变。我正在阅读“Parallel R”一书,每次调用 mclapply() 时,选项 mc.set.seed = TRUE 应该给每个工人一个新种子。

这是我的代码:

library(parallel)
RNGkind("L'Ecuyer-CMRG")

mclapply(1:2, function(n) rnorm(n), mc.set.seed = TRUE)
[[1]]
[1] -0.7125037

[[2]]
[1] -0.9013552  0.3445190

mclapply(1:2, function(n) rnorm(n), mc.set.seed = TRUE)
[[1]]
[1] -0.7125037

[[2]]
[1] -0.9013552  0.3445190
Run Code Online (Sandbox Code Playgroud)

编辑:同样的事情发生在我的台式机和我的笔记本电脑上(都是 Ubuntu 12.04 LTS)。

parallel-processing r prng

8
推荐指数
1
解决办法
1994
查看次数

如何重置种子值

有没有办法去除种子价值?我刚刚运行了一个示例代码,如下所示

set.seed(912)
sample(10)
Run Code Online (Sandbox Code Playgroud)

我得到了以下结果.

[1]  5  8  2 10  9  3  4  7  1  6
Run Code Online (Sandbox Code Playgroud)

现在我该如何停止种子值.我在没有保存的情况下关闭了我的R会话,并在重新打开后运行了与上面相同的代码,并以相同的顺序得到了结果.

我从与种子有关的一个问题得到了以下代码,但这也没有用.

set.seed(Sys.time())
Run Code Online (Sandbox Code Playgroud)

r

-3
推荐指数
1
解决办法
4699
查看次数

标签 统计

r ×2

parallel-processing ×1

prng ×1