【发布时间】:2013-04-24 13:36:45
【问题描述】:
是否可以在不影响后续随机数生成的本地环境中使用set.seed()?在某些函数中设置种子以获得可重复的结果是很常见的,但我认为这很不幸,因为它甚至会在环境之外影响后续几代随机数。
有没有可能避免这种行为?
set.seed(123)
runif(1) #[1] 0.2875775
runif(1) #[1] 0.7883051
local({
set.seed(123)
print(runif(1))
})
#[1] 0.2875775
runif(1) #[1] 0.7883051 (This should not be the second number again)
【问题讨论】:
-
我认为您的示例代码在
local中缺少set.seed。 -
@Roland:是的。谢谢。