R| set.seed()作用使随机结果具有复现性

例如在R语言中,rnorm()函数为随机生成多个随机数,每次使用都会得到不同的结果 > rnorm(3) [1] -2.0235077 0.3552526 0.6239982 > rnorm(3) [1] 1.101044 -1.297740 1.717356 如...

例如在R语言中,rnorm()函数为随机生成多个随机数,每次使用都会得到不同的结果

> rnorm(3)
[1] -2.0235077  0.3552526  0.6239982
> rnorm(3)
[1]  1.101044 -1.297740  1.717356

如果我们想要让结果复现的话,就需要设定生成随机数的种子

> set.seed(1)    #设定种子1
> rnorm(3) [1] -0.6264538 0.1836433 -0.8356286
> set.seed(11)    #设定种子11
> rnorm(3) [1] -0.59103110 0.02659437 -1.51655310
> set.seed(1)    #复现结果1
> rnorm(3) [1] -0.6264538 0.1836433 -0.8356286

需要注意,我们想要复现结果时,需要再次运行set.seed()并把种子数值保持一致。如果seed数值不一致也就不能复现结果。

那么seed数值的选择有什么用?set.seed(1)和set.seed(1000)的区别是什么?

关于这个问题,有一个类似回答:https://stackoverflow.com/questions/23511853/set-seed-function-what-is-the-best-value-for-setting-a-seed

种子的唯一真正好处是使随机结果具有复现性。至于seed数值的设置一般来说没有偏好。它们只是为伪随机生成器提供一个具体的种子,而不是在系统中使用一些熵set.seed(1000)也不是运行1000次,而是把种子设置成1000。






  • 发表于 2024-02-19 14:26
  • 阅读 ( 426 )
  • 分类:R

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
rzx
rzx

69 篇文章

作家榜 »

  1. omicsgene 665 文章
  2. 安生水 333 文章
  3. Daitoue 167 文章
  4. 生物女学霸 120 文章
  5. 红橙子 78 文章
  6. CORNERSTONE 72 文章
  7. xun 69 文章
  8. rzx 69 文章