楼主: dxystata
3693 15

[问答] 循环中如何保存每次的种子数 [推广有奖]

版主

已卖:302份资源

大师

37%

还不是VIP/贵宾

-

TA的文库  其他...

Software

中英文Ebook

R学习

威望
2
论坛币
183395 个
通用积分
15333.1475
学术水平
208 点
热心指数
271 点
信用等级
174 点
经验
298627 点
帖子
5586
精华
1
在线时间
13632 小时
注册时间
2006-6-21
最后登录
2025-12-22

初级学术勋章 初级热心勋章 中级热心勋章 初级信用勋章

楼主
dxystata 发表于 2014-1-29 02:57:56 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
循环时没有set.seed, 循环中如何保存每次的种子数呢?谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:seed see Set 如何

沙发
ntsean 发表于 2014-1-29 05:08:41
把 .Random.seed 这个variable的值保存下来就可以了
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
求证1加1 + 1 + 1 + 1 我很赞同

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
dxystata 发表于 2014-1-29 05:43:20
ntsean 发表于 2014-1-29 05:08
把 .Random.seed 这个variable的值保存下来就可以了
能否举个例子吗?谢谢!

板凳
ntsean 发表于 2014-1-29 09:45:14
## any random function to get a random seed
rnorm(1)

## save seeds
save(.Random.seed, file="seed.rda")
### your program for loops ....

下次用的时候把 seed.rda load进去就可以了,这样seed就和上次用的起始的时候一样了


当然我不是很清楚具体你要做什么,但是 .Random.seed 这个变量保存了当前random number 的状态


已有 2 人评分经验 学术水平 热心指数 收起 理由
dxystata + 100 + 1 + 1 热心帮助其他会员
qoiqpwqr + 1 + 1 热心帮助其他会员

总评分: 经验 + 100  学术水平 + 2  热心指数 + 2   查看全部评分

报纸
dxystata 发表于 2014-1-29 22:04:56
ntsean 发表于 2014-1-29 09:45
## any random function to get a random seed
rnorm(1)
set.seed(1)
.Random.seed

运行后很多数据啊

地板
ntsean 发表于 2014-1-29 22:33:03
dxystata 发表于 2014-1-29 22:04
set.seed(1)
.Random.seed
每次调用随机函数以后, .Random.seed 这个变量的值就会变化,所以任何时候你想保留当时的random number的状态,你就可以把.Random.seed的值保留下来,就是一个向量。以后用的时候,你把.Random.seed设成你保留的值就可以恢复随机数状态

比如
set.seed(1)
temp.seed <- .Random.seed
用temp.seed保留状态,然后做很多运算
runif(1)
rnorm(100)
runif(1)
如果要回到当初的random值,就可以
.Random.seed <- temp.seed
这样,在用 runif(1) rnorm(100)…得到的值和前面一样

7
dxystata 发表于 2014-1-29 23:12:31
ntsean 发表于 2014-1-29 22:33
每次调用随机函数以后, .Random.seed 这个变量的值就会变化,所以任何时候你想保留当时的random number的 ...
set.seed(1)
temp.seed <- .Random.seed
temp.seed
为什么显示626个数?

8
ntsean 发表于 2014-1-29 23:25:53
dxystata 发表于 2014-1-29 23:12
set.seed(1)
temp.seed
这个是随机数序列, 用完了再产生一个新的

9
dxystata 发表于 2014-1-29 23:32:55
ntsean 发表于 2014-1-29 23:25
这个是随机数序列, 用完了再产生一个新的
为什么不是500或者1000呢?

10
ntsean 发表于 2014-1-29 23:43:22
dxystata 发表于 2014-1-29 23:32
为什么不是500或者1000呢?
这个我也不是很清楚。。。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-27 03:17