💉🈯[set.seed()|生信基础]set.seed()的解析

2019-06-28  本文已影响0人  郑宝童

问题来源于一位师妹:

image.png

所以,提到set.seed(),你得知道一下内容

为了理解这个,你可以在R里面运行下方代码

set.seed(1)
x=rnorm(10)
plot(x)

set.seed(1)
x=rnorm(10)
plot(x)

-->两次运行出来的图是一样的

set.seed(2)
x=rnorm(10)
plot(x)

-->图就变了

所以你不set.seed,你每次随机出来的结果不一样

Q:但是我现在就想问,set.seed()里面填多少比较合适?
A:你看着给
Q:我看着给?
A:set.seed()是用于产生随机数的,一定是你的程序涉及到了模拟或仿真的算法。括号里的数只是一个编号而已,例如set.seed(100)不应将括号里的数字理解成“一百”,而是应该理解成“编号为一零零的随机数发生”,下一次再模拟可以采用二零零(200)或者一一一(111)等不同的编号即可,编号设定基本可以随意。
A:设定随机数种子,一个特定的种子可以产生一个特定的伪随机序列,这个函数的主要目的,是让你的模拟能够可重复出现,因为很多时候我们需要取随机数,但这段代码再跑一次的时候,结果就不一样了,如果需要重复出现同样的模拟结果的话,就可以用set.seed()。在调试程序或者做展示的时候,结果的可重复性是很重要的,所以随机数种子也就很有必要。
Q:那随便写了

参考资料
https://bbs.pinggu.org/thread-2598963-1-1.html
http://www.itdaan.com/blog/2017/11/27/d4a1940635a112330bfc2dd1089d2fcf.html

上一篇 下一篇

猜你喜欢

热点阅读