rno*_*ian 5 random r sampling resampling
我一直认为set.seed()
只让随机变量生成器(例如,rnorm
)为任何特定的输入值集生成唯一的序列。
但是,我想知道,为什么当我们设置set.seed()
, 然后函数sample()
不能正确完成它的工作?
具体来说,鉴于下面的例子,有没有一种方法可以set.seed
在之前使用,rnorm
但如果多次运行,sample
仍然会从中产生新的随机样本?rnorm
sample
set.seed(123458)
x.y = rnorm(1e2)
sampled = sample(x = x.y, size = 20, replace = TRUE)
plot(sampled)
Run Code Online (Sandbox Code Playgroud)
根据帮助文件在 ?set.seed
“如果使用 seed = NULL 调用,它会重新初始化(参见“注意”),就好像尚未设置种子一样。”
因此,由于rnorm
和sample
都受 影响set.seed()
,您可以执行以下操作:
set.seed(639245)
rn <- rnorm(1e2)
set.seed(NULL)
sample(rn,5)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8460 次 |
最近记录: |