当我在R中执行set.seed(0)和set.seed(1)时,会出现奇怪的情况。
set.seed(0)
sample(1:100,size=10,replace=TRUE)
#### [1] 90 27 38 58 91 21 90 95 67 63
set.seed(1)
sample(1:100,size=10,replace=TRUE)
#### [1] 27 38 58 91 21 90 95 67 63 7
当将种子从0更改为1时,我得到了完全相同的序列,但是向右移动了一个单元格!
请注意,如果我使用set.seed(2),我确实获得了一个看起来完全不同的(随机?)向量。
set.seed(2)
sample(1:100,size=10,replace=TRUE)
#### [1] 19 71 58 17 95 95 13 84 47 55
有人知道这里发生了什么吗?
(注:不保留空格)
seed
需要一个大于整数is.integer(0) [1] FALSE
。 - rawr0
是一个双精度数,因此is.integer(0)
返回 FALSE,但是is.integer(0L)
返回 TRUE。然而,set.seed
会将浮点数的输入强制转换为整数,所以这不是问题所在。 - Carl Witthoft