r - 在 R 中设置种子

标签 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 - 在 R 中设置种子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54753467/

相关文章:

r - 如何在 R 中将序数变量转换(计算)为二分变量?

r - 绘制一个变量变化而其他变量不变的模型的函数

r - sqldf:将时间戳从本地时间更改为 GMT/UTC

r - 将空行追加到数据框

r - 在 R Markdown 中将数据框显示为表格

r - 如何在超过 6 组的维恩图中添加计数值?

r - 在R中,获取矩阵的前10个值并将行名称输出到向量

python - Scikit python 和 R 中的逻辑回归结果不同?

r - 使用 dplyr 实用程序将纯文本数据 reshape 为常规表格数据的任何方法?

r - 从 purrr 获取 map 以与paste0一起使用