我正在研究中等大小的数据集,比如从具有100,000个观测值的大型数据集中采集的9000个观测值.
我可以使用以下set.seed()函数来保证每次都获得完全相同的子集吗?
set.seed(10000)
Run Code Online (Sandbox Code Playgroud)
我可以使用set.seed()的最大值是多少?
为什么你感兴趣?通常你应该只设置一次种子,传递给它的数字应该是无关紧要的.
无论如何:
help("set.seed")
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
来自?set.seed文档:
种子 单个值,解释为整数或NULL(参见'详细信息').
所以最大值将是允许的最大整数:
.Machine$integer.max
[1] 2147483647
Run Code Online (Sandbox Code Playgroud)
一个简单的测试:
set.seed(2147483647)
set.seed(2147483648)
Run Code Online (Sandbox Code Playgroud)
set.seed(2147483648)中的错误:提供的种子不是有效整数另外:警告消息:在set.seed(2147483648)中:由强制引入的NAs到整数范围