美文网首页
R中set.seed()函数

R中set.seed()函数

作者: 耕读者 | 来源:发表于2019-10-14 10:41 被阅读0次

    原网址:https://blog.csdn.net/vencent_cy/article/details/50350020

    在网上查了R的文档,上面解释说:set.seed is the recommended way to specify seeds.

    我又在各个论坛中查看别的人的说法。终于搞明白了。

    set.seed()用于设定随机数种子,一个特定的种子可以产生一个特定的伪随机序列,这个函数的主要目的,是让你的模拟能够可重复出现,因为很多时候我们需要取随机数,但这段代码再跑一次的时候,结果就不一样了,如果需要重复出现同样的模拟结果的话,就可以用set.seed()。在调试程序或者做展示的时候,结果的可重复性是很重要的,所以随机数种子也就很有必要。

    也可以简单地理解为括号里的数只是一个编号而已,例如set.seed(100)不应将括号里的数字理解成“一百”,而是应该理解成“编号为一零零的随机数发生”,下一次再模拟可以采用二零零(200)或者一一一(111)等不同的编号即可,编号设定基本可以随意。

    例如以下实验:

    x<-rnorm(10) #随机生成10个随机数

    x

    [1] 0.3897943 -1.2080762 -0.3636760 -1.6266727 -0.2564784 1.1017795 0.7557815

    [8] -0.2382336 0.9874447 0.7413901

    x<-rnorm(10) #再次随机生成10个随机数

    x

    [1] 0.08934727 -0.95494386 -0.19515038 0.92552126 0.48297852 -0.59631064 -2.18528684

    [8] -0.67486594 -2.11906119 -1.26519802

    set.seed(5) #设定种子

    x<-rnorm(10) # 在设定种子的前提下生成10个随机数

    x

    [1] -0.84085548 1.38435934 -1.25549186 0.07014277 1.71144087 -0.60290798 -0.47216639

    [8] -0.63537131 -0.28577363 0.13810822

    set.seed(5) # 设定种子

    y<-rnorm(10)

    y

    [1] -0.84085548 1.38435934 -1.25549186 0.07014277 1.71144087 -0.60290798 -0.47216639

    [8] -0.63537131 -0.28577363 0.13810822

    x == y

    [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE

    ————————————————

    版权声明:本文为CSDN博主「vincent-cy」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

    原文链接:https://blog.csdn.net/vencent_cy/article/details/50350020

    相关文章

      网友评论

          本文标题:R中set.seed()函数

          本文链接:https://www.haomeiwen.com/subject/qknlmctx.html