MYa*_*208 7 random statistics r
我的理解是使用set.seed确保了可重复性,但是下面的R代码不是这种情况R 2.15.2.我在这里错过了什么吗?
set.seed(12345)
rnorm(5)
[1] 0.5855288 0.7094660 -0.1093033 -0.4534972 0.6058875
rnorm(5)
[1] -1.8179560 0.6300986 -0.2761841 -0.2841597 -0.9193220
Run Code Online (Sandbox Code Playgroud)
S. *_*ica 21
set.seed()重新初始化随机数生成器.
set.seed(12345)
rnorm(5)
[1] 0.5855288 0.7094660 -0.1093033 -0.4534972 0.6058875
set.seed(12345)
rnorm(5)
[1] 0.5855288 0.7094660 -0.1093033 -0.4534972 0.6058875
set.seed(12345)
rnorm(5)
[1] 0.5855288 0.7094660 -0.1093033 -0.4534972 0.6058875
Run Code Online (Sandbox Code Playgroud)
Mat*_*rde 12
任何使用随机数生成器的调用都将更改当前种子,即使您手动设置它也是如此set.seed.
set.seed(1)
x <- .Random.seed # get the current seed
runif(10) # uses random number generator, so changes current seed
y <- .Random.seed
identical(x, y) # FALSE
Run Code Online (Sandbox Code Playgroud)
正如@StephanKolassa演示的那样,您必须在每次使用随机数生成器之前重置种子,以保证每次使用相同的种子.