引数の値を置換し、n個の値のうちk個のランダムな組み合わせを返します。
カテゴリ: | 組み合わせ |
乱数シードが含まれる数値変数です。シードの詳細については、 シード値を参照してください。
ランダムな組み合わせに含める値の数です。
同じ長さのすべての数値変数またはすべての文字変数を指定します。これら変数の K個の値がランダムに置換されます。
data _null_; array x x1-x5 (1 2 3 4 5); seed=1234567890123; do n=1 to 10; call rancomb(seed, 3, of x1-x5); put seed= @20 ' x= ' x1-x3; end; run;
seed=1332351321 x= 2 4 5 seed=829042065 x= 1 3 4 seed=767738639 x= 2 3 5 seed=1280236105 x= 2 4 5 seed=670350431 x= 1 2 5 seed=1956939964 x= 2 3 4 seed=353939815 x= 1 3 4 seed=1996660805 x= 1 2 5 seed=1835940555 x= 2 4 5 seed=910897519 x= 2 3 4
%macro test; %let x1=ant; %let x2=-.1234; %let x3=1e10; %let x4=hippopotamus; %let x5=zebra; %let k=3; %let seed=12345; %do j=1 %to 10; %syscall rancomb(seed, k, x1, x2, x3, x4, x5); %put j=&j &x1 &x2 &x3; %end; %mend; %test;
j=1 -0.1234 hippopotamus zebra j=2 hippopotamus -0.1234 10000000000 j=3 hippopotamus ant zebra j=4 -0.1234 zebra ant j=5 -0.1234 ant hippopotamus j=6 10000000000 hippopotamus ant j=7 10000000000 hippopotamus ant j=8 ant 10000000000 -0.1234 j=9 zebra -0.1234 10000000000 j=10 zebra hippopotamus 10000000000