是否有可能在本地環境中使用set.seed()
而不影響隨後的隨機數生成?在一些函數中設置種子以獲得可重複的結果是很常見的,但我認爲這是不幸的,因爲它會影響下一代隨機數,即使在環境之外。本地環境中的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 2013-04-30 15:30:36
@羅蘭:是的。謝謝。 – 2013-04-30 21:45:13
重複的問題? [在本地設置種子不是全局在R](http://stackoverflow.com/questions/14324096/setting-seed-locally-not-globally-in-r) – 2013-04-30 21:56:14