|
|
値の順番に応じて一定の割合でオブザベーションを取り出す方法
[OS]ALL
[リリース] 6.09e, 6.12, 8.1, 8.2
[キーワード] RANK, PERCENT
[質問]あるデータセットから、値のもっとも小さいものから10%程度のオブザベーションを取り出したいのですが、どのような方法がありますか?。
[回答]
RANKプロシジャとPERCENTオプションを利用する方法をご紹介します。
/* サンプルデータ */
DATA sample;
DO student = 1 TO 100;
tensu = INT(RANUNI(0)*100+1);
OUTPUT;
END;
RUN;
/* 値の小さいものから 10% を抽出 */
PROC RANK DATA=sample OUT=outdata(WHERE=(rank<=10)) PERCENT ;
VAR tensu;
RANKS rank;
RUN;
|
|||||