ran1 から ran3 までの 3 つの変数があります。[ran1, ran2] 1-999 (integer) と [ran3] 0-1 (float) の間の値を受け取る必要があります。
私はこれを喜んでやっています:
* COMPUTE ran1 = TRUNC(UNIFORM(999)) + 1 . * produces values between 1 and 999
* COMPUTE ran2 = TRUNC(UNIFORM(999)) + 1 . * produces values between 1 and 999
* COMPUTE ran3 = UNIFORM(1) . * produces values between 0.01 and 0.99
しかし、正規分布の方が以下に役立つとアドバイスされています。
だから、私はこれをしました:
COMPUTE ran1 = TRUNC(NORMAL(999)) + 1 . * produces values between -4900 and +4744
COMPUTE ran2 = TRUNC(NORMAL(999)) + 1 . * produces values between -4748 and +4902
COMPUTE ran3 = NORMAL(2) . * produces values between -11.10 and +10.72
値がゼロ付近に集まっているのはなぜですか? それらを必要な範囲内に収めるにはどうすればよいですか?
ありがとう。