全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
28799 8
2016-01-13
> set.seed(123)
> rnorm(10)
[1] -0.56047565 -0.23017749  1.55870831  0.07050839  0.12928774  1.71506499
[7]  0.46091621 -1.26506123 -0.68685285 -0.44566197
> rnorm(10)
[1]  1.2240818  0.3598138  0.4007715  0.1106827 -0.5558411  1.7869131  0.4978505
[8] -1.9666172  0.7013559 -0.4727914

请问怎么解决这个问题

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-1-13 20:14:01
set.seed()只对运行该命令后的第一次随机产生结果有效。
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-1-13 22:39:21
跳蚤侠 发表于 2016-1-13 19:27
> set.seed(123)
> rnorm(10)
[1] -0.56047565 -0.23017749  1.55870831  0.07050839  0.12928774  1.71 ...
要得到相同的随机数,还得再“重写”一遍
set seed(123)
rnorm()
这样,每次得到的随机数就一样啦
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-1-13 22:49:52
lancylu 发表于 2016-1-13 22:39
要得到相同的随机数,还得再“重写”一遍
set seed(123)
rnorm()
啊,多谢,搞定了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-10-13 15:02:46
原来如此,多逛论坛果然有好处!这也是我一直犯的错误
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-11-15 10:41:06
跳蚤侠 发表于 2016-1-13 22:49
啊,多谢,搞定了
我觉得沙发的回答虽然从楼主这个应用上来说没有问题,但可能在理解上产生一定的误会
设置了种子代表的是 此后产生的随机数序列固定
楼主的情况之所以不同,是因为处在同一序列的不同位置
比如设定了随机数种子之后,随机数序列可能是 6,1,2,5
如果每次都set.seed,相当于每次都只取第一位的那个6
楼主之前的做法,相当于按顺序往下取,6取完就取1,完了再取2这样

通常的使用中你可能会取大量的随机数,而一次set.seed就可以保证整段代码的可重复性
只有像楼主需求在代码内还要能重复每一次的结果,才需要每次都重置set.seed。但通常没有这样的必要,因为你第一次生成的时候,这个结果就已经确定了,完全可以通过赋值的办法搞出备份
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群