Sas で乱数を生成する方法 (3 つの例)
SAS のrand()関数を使用して乱数を生成できます。
次の例は、この関数を実際に使用する方法を示しています。
例 1: 乱数を生成する
次のコードは、SAS で 1 から 10 までの単一のランダムな整数を生成する方法を示しています。
/*create dataset with variable that contain random value*/
data my_data;
call streaminit( 1 ); /*make this example reproducible*/
x = rand (" integer ", 1 , 10 );
output ;
run;
/*view dataset*/
proc print data =my_data;
1 から 10 までの乱数は9であることがわかりました。
この例が再現可能であることを確認するために、 streaminit()関数を使用していることに注意してください。これは、このコードを実行するたびに、乱数が 9 になることを意味します。
コードを実行するたびに異なるランダム値を生成するには、 streaminit()関数を省略しても構いません。
例 2: 複数の乱数を含む変数を生成する
次のコードは、1 から 20 までの 10 個のランダムな値を含む変数を SAS で生成する方法を示しています。
/*create dataset with variable that contain random value*/
data my_data;
call streaminit( 10 );
do i = 1 to 10 ;
x = rand (" integer ", 1 , 20 );
output ;
end ;
run ;
/*view dataset*/
proc print data =my_data;
変数 x の各値は 1 から 20 までのランダムな整数であることに注意してください。
例 3: 複数の乱数を使用して複数の変数を生成する
次のコードは、SAS でランダムな値を含む複数の変数を生成する方法を示しています。
/*create dataset with variable that contain random value*/
data my_data;
call streaminit( 10 );
do i = 1 to 10 ;
x = rand (" integer ", 1 , 20 );
y = rand (" integer ", 50 , 100 );
output ;
end ;
run ;
/*view dataset*/
proc print data =my_data;
変数xには 1 ~ 20 の範囲の 10 個のランダムな整数が含まれ、変数yには 50 ~ 100 の範囲の 10 個のランダムな整数が含まれます。
追加リソース
次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。
SAS でデータを正規化する方法
SAS で変数の名前を変更する方法
SAS で重複を削除する方法
SAS で欠損値をゼロに置き換える方法