在R中设置种子

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在R中设置种子相关的知识,希望对你有一定的参考价值。

如果我想在R中生成几个随机变量,都使用相同的种子,我每次都必须设置种子吗?例如,我应该写:

set.seed(123456) 
x = runif(1000,0,1)  

set.seed(123456) 
e = rnorm(1000,0,1)  

set.seed(123456) 
y = 4 + 0.3*x + e

或者只设置一次种子并定义所有变量?

答案

建议只设置一次随机种子。

从那时起,您可以使用它自由生成随机数。

现在,重现您需要的完全相同的随机数序列

  1. 用相同的种子给发电机播种,
  2. 使用相同的随机数发生器(通过RNGKind;你通常不会在R中触摸它),
  3. 对使用随机数的函数执行完全相同的调用序列。

最后一点很重要:设置相同的随机种子但执行不同的调用序列将产生不同的随机数。例如:

set.seed(12345)
runif(10)
rnorm(10)

set.seed(12345)
runif(5)
rnorm(10)

...这将为rnorm调用产生不同的随机数。

以上是关于在R中设置种子的主要内容,如果未能解决你的问题,请参考以下文章

从活动中设置片段的参数

在片段中设置文本颜色

python 使用NumPy在Python中设置种子

我是不是需要在导入 numpy 或 tensorflow 的所有模块中设置种子?

vscode中设置vue代码片段

在 Julia 随机数生成器中设置随机种子