set.seed()的最大值是多少?

时间:2018-03-27 09:19:19

标签: r

我正在研究中等大小的数据集,比如从一个包含100,000个观测值的大型数据集中抽取9000个观测值。

我可以使用以下set.seed()函数来保证每次都获得完全相同的子集吗?

set.seed(10000)  

我可以使用set.seed()的最大值是多少?

2 个答案:

答案 0 :(得分:6)

为什么你感兴趣?通常你应该只设置一次种子,传递给它的数字应该是无关紧要的。

反正:

help("set.seed")
  

seed:单个值,解释为整数或NULL(请参阅   “详细信息”)。

set.seed(.Machine$integer.max)
set.seed(.Machine$integer.max + 1)
#Error in set.seed(.Machine$integer.max + 1) : 
#  supplied seed is not a valid integer
#In addition: Warning message:
#In set.seed(.Machine$integer.max + 1) :
#  NAs introduced by coercion to integer range

.Machine$integer.max
#[1] 2147483647

答案 1 :(得分:6)

来自?set.seed文档:

  

seed 单个值,解释为整数或NULL(请参阅   “详细信息”)。

因此最大值将是允许的最大整数:

.Machine$integer.max
[1] 2147483647

简单的测试:

set.seed(2147483647)
set.seed(2147483648)
  

set.seed(2147483648)中的错误:提供的种子不是有效整数       另外:警告信息:       在set.seed(2147483648)中:通过强制将NAs引入整数范围