度数変数を考慮に入れた順位付けについて
[OS] ALL
[リリース] ALL
[キーワード] RANK, TRANSREG, MODEL
[質問]ある変数について順位付けを行なうとき、度数変数を考慮に入れた上で順位を与えることはできますか。
[回答]順位付けを行なう場合、通常はRANKプロシジャが利用されますが、FREQステートメントがサポートされていないため、こ の質問のケースには対応できません。
このような場合、TRANSREGプロシジャを使用して順位付けを行なうことができます。MODELステートメントで変数変換方法RANKを使用し、同時にFREQステートメントで度数を表す変数を指定してください。
/* サンプルデータの作成 */
DATA test;
INPUT y @@;
freq=1+INT(RANUNI(123)*10);
x=RANUNI(123)*10;
CARDS;
1 5 3 3 1
;
RUN;
/* TRANSREGプロシジャ */
PROC TRANSREG DATA=test DESIGN;
MODEL RANK(y x/NAME=(rank_y rank_x));
OUTPUT OUT=out(DROP=Intercept _name_ _type_);
FREQ freq;
ID y x;
RUN;
/* 出力されたSASデータセットの確認 */
PROC PRINT DATA=out;
RUN;
|
|