n個の変数を同時にk個使用するときの、重複しない非欠損値のすべての組み合わせを辞書式順序で生成します。
カテゴリ: | 組み合わせ |
制限事項: | LEXCOMB関数は、%SYSFUNCマクロを使用するときには実行できません。 |
data _null_; array x[5] $3 ('ant' 'bee' 'cat' 'dog' 'ewe'); n=dim(x); k=3; ncomb=comb(n, k); do j=1 to ncomb+1; rc=lexcomb(j, k, of x[*]); put j 5. +3 x1-x3 +3 rc=; if rc<0 then leave; end; run;
1 ant bee cat rc=1 2 ant bee dog rc=3 3 ant bee ewe rc=3 4 ant cat dog rc=2 5 ant cat ewe rc=3 6 ant dog ewe rc=2 7 bee cat dog rc=1 8 bee cat ewe rc=3 9 bee dog ewe rc=2 10 cat dog ewe rc=1 11 cat dog ewe rc=-1
data _null_; array x[5] $3 ('X' 'Y' 'Z' 'Z' 'Y'); n=dim(x); k=3; ncomb=comb(n, k); do j=1 to ncomb+1; rc=lexcomb(j, k, of x[*]); put j 5. +3 x1-x3 +3 rc=; if rc<0 then leave; end; run;
1 X Y Y rc=1 2 X Y Z rc=3 3 X Z Z rc=2 4 Y Y Z rc=1 5 Y Z Z rc=2 6 Y Z Z rc=-1