2017-12-27 8 views
1

これはおそらく非常に基本的な質問ですが、変数を次のようにRでどのように変更するのですか?変数をRでどのように変更するのですか? ( `sample`コマンド)

var <- sample(c(-2, -1, 0, 1, 2), size = 1)は、繰り返し同じ番号を与え続けます。これを防ぐには何ができますか?

+0

コマンドで5要素のベクトルから1要素を擬似ランダムにサンプリングしています。 次に、ランダムサンプルを複製する場合は、おそらく別の値になりますが、別のオブジェクトに格納する場合にのみ使用することができます。 とにかくあなたの質問はちょっと混乱しています。私はあなたの目標を正確に理解していません –

+2

あなたのコマンドは私のために働き、 'var'の複数の割り当てに対して異なる数字を生成します。たぶん、あなたは同じ値への呼び出しごとに 'seed'を固定していますか? –

答えて

2

set.seed(NULL)を実行してコードを再実行すると、毎回異なる値が表示されます。しかし、set.seed(1729),set.seed(42)などのようにすると、同じ番号が再び表示されます。私のシステムでは

、下のset.seed(NULL)結果を実行している:私はset.seed(1729)を試してみて、コードを再実行した場合、私が受け取る

> set.seed(NULL) 
> var <- sample(c(-2, -1, 0, 1, 2), size = 1) 
> var 
[1] -2 
> var <- sample(c(-2, -1, 0, 1, 2), size = 1) 
> var 
[1] 1 

> set.seed(1729) 
> var <- sample(c(-2, -1, 0, 1, 2), size = 1) 
> var 
[1] 0 
> var <- sample(c(-2, -1, 0, 1, 2), size = 1) 
> var 
[1] 0 

を、我々は選択したシード番号があります一連の乱数の生成に使用される開始点。これは、同じシード番号で同じ結果が得られる理由です。ドキュメント?set.seedから

注:

は最初は、種子はありません。現在の時刻である から新しい時刻が作成され、プロセスIDが必要な場合はプロセスIDが作成されます。したがって、異なるセッション は、デフォルトで異なるシミュレーション結果を提供します。ただし、以前に保存した ワークスペースが復元されている場合は、シード が以前のセッションから復元される可能性があります。

関連する問題