在R

时间:2019-02-18 18:38:47

标签: 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 个答案:

答案 0 :(得分:4)

建议仅设置随机种子一次

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

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

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

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

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

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

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

相关问题