n個の変数から一度にk個を取り出した非欠損値の重複しないすべての順列を辞書式順序で生成します。
カテゴリ: | 組み合わせ |
制限事項: | LEXPERK関数は、%SYSFUNCマクロを使用するときには実行できません。 |
data _null_; array x[5] $3 ('X' 'Y' 'Z' 'Z' 'Y'); n=dim(x); k=3; nperm=perm(n, k); do j=1 to nperm+1; rc=lexperk(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 Y rc=2 4 X Z Z rc=3 5 Y X Y rc=1 6 Y X Z rc=3 7 Y Y X rc=2 8 Y Y Z rc=3 9 Y Z X rc=2 10 Y Z Y rc=3 11 Y Z Z rc=3 12 Z X Y rc=1 13 Z X Z rc=3 14 Z Y X rc=2 15 Z Y Y rc=3 16 Z Y Z rc=3 17 Z Z X rc=2 18 Z Z Y rc=3 19 Z Z Y rc=-1