我正在研究中等大小的数据集,比如从一个包含100,000个观测值的大型数据集中抽取9000个观测值。
我可以使用以下set.seed()
函数来保证每次都获得完全相同的子集吗?
set.seed(10000)
我可以使用set.seed()的最大值是多少?
答案 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引入整数范围