22
シードをRでローカルに(関数内で)設定したいが、Rはローカルだけでなくグローバルにもシードを設定するようだ。ここで私が何をしようとしているのかの簡単な例があります。シードをローカルに設定する(グローバルではない)R
myfunction <- function() {
set.seed(2)
}
# now, whenever I run the two commands below I'll get the same answer
myfunction()
runif(1)
私の質問には次のようなものがあります。なぜRは自分の関数内だけでなく、グローバルにシードを設定するのですか?そして私はRを私の機能の中だけに種子を置くようにすることができますか?このような
ありがとうございました!私はあなたの答えを試してみます。 Rにこの予期しない(少なくとも私にとって)副作用がある理由は何ですか? –
はい:デザインによって:-) –
+1私をビートしてください。 @ManoelGaldino "なぜ?"私はこれがまったく予期しないとは思わない。あらゆる機能環境のための新しい、別々のランダムジェネレータを実装することはひどく複雑になるでしょう、と私は思います。また、パフォーマンス上のオーバーヘッドが発生する可能性があります – joran