R语言笔记-set.seed()函数

今天查了一下R语言中set.seed(),该命令的作用是设定生成随机数的种子,种子是为了让结果具有重复性。如果不设定种子,生成的随机数无法重现。

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

内容转载自 http://blog.sina.com.cn/s/blog_5de124240101pwm3.html

关于该函数补充如下: set.seed( ) 括号的数只是一个编号,作为标记使用,取值可以随意;当以后需要取得与上次相同的随机数时, set.seed( ) 中填写回该值即可。

例如 set.seed(100) 不应将括号里的数字理解成“一百”,而是应该理解成“编号为一零零的随机数发生”, 下一次再模拟可以采用二零零(200)或者(111)等不同的编号都行。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值