我一直以为set.seed()
只制作随机变量生成器(例如,rnorm
)为任何特定的输入值集生成唯一的序列。
但是,我想知道,为什么当我们设置set.seed()
,那么函数sample()
没有正确完成其工作?
Question
具体来说,给出下面的例子,有什么办法我可以使用set.seed
之前rnorm
but sample
仍然会从中产生新的随机样本rnorm
if sample
运行多次?
这是一个 R 代码:
set.seed(123458)
x.y = rnorm(1e2)
sampled = sample(x = x.y, size = 20, replace = TRUE)
plot(sampled)
根据帮助文件?set.seed
“如果使用 seed = NULL 调用,它会重新初始化(参见‘注意’),就好像没有一样
种子还没有定下来。”
所以,自从rnorm
and sample
都受到影响set.seed()
, 你可以做:
set.seed(639245)
rn <- rnorm(1e2)
set.seed(NULL)
sample(rn,5)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)