前のページ|次のページ

CALL RANTBLルーチン

テーブル形式の確率分布からランダム変量を返します。

カテゴリ: 乱数

構文

CALL RANTBL(seed, p1, ...pi, ...pn, x);

必須引数

シード

シード値です。CALL RANTBLを実行するたびに、seedの新しい値が返されます。

範囲 seed < 231 - 1
seed ≤ 0の場合、シードストリームの初期化に時刻が使用されます。
参照項目 シード値 および乱数関数と乱数CALLルーチンのシード値の比較

pi

数値のSAS値です。

範囲 0 < in に対し 0 ≤ pi ≤ 1

x

数値のSAS変数です。CALL RANTBLを実行するたびに、ランダム変量xの新しい値が返されます。

詳細

CALL RANTBLルーチンはseedを更新し、p1からpnで定義された確率質量関数から生成される変量xを返します。
シードを調整することで、同一または後続のDATAステップの一部またはすべてのオブザベーションで変量のストリームへの一致または不一致を強制できます。
RANUNI一様変量に適用される逆変換法が使用されます。CALL RANTBLルーチンは次のデータを返します。
インデックスj < nの場合、
RANTBLはインデックスjの発生確率が次と等しくなる、インデックス1からjまでを返します。
乱数CALLルーチンの効果的な使用方法と例については、ストリームを開始、停止および再開するを参照してください。

比較

CALL RANTBLルーチンは、シードおよび乱数ストリームをRANTBL関数よりも高度に制御できます。

この例では、CALL RANTBLルーチンを使用します。
data u1(keep=x);
   seed=104;
   do i=1 to 5;
      call rantbl(seed, .02, x); 
      output;
   end;
   call symputx('seed', seed);
run;
data u2(keep=x);
   seed=&seed;
   do i=1 to 5;
      call rantbl(seed, .02, x); 
      output;
   end;
run;
data all;
   set u1 u2;
   z=rantbl(104, .02);
run;
proc print label;
   label x='Separate Streams' z='Single Stream';
run;
CALL RANTBLルーチンからの出力
CALL RANTBLルーチンからの出力

関連項目:

前のページ|次のページ|ページの先頭へ