SORTプロシジャ
(例)IDとスコア
5名から得られた8つのスコアデータ
data data01;
input id score;
cards;
1 10
1 3
2 8
3 2
4 15
4 6
4 8
5 7
;
run;
(1) 昇順にする
・byで昇順にしたい変数を指定する
・out=オプションは省略可(指定しない場合、同じデータセット名に結果が合格納される)
・複数データセットをマージする前などで使う
proc sort data=data01 out=out01;
by id;
run;
(2) 降順にする
・降順にしたい変数の前にdescendingを書く(descで省略可)
・「(3) 重複を除く」と一緒に使うことで、IDごとの最大値を抽出できる
proc sort data=data01 out=out02;
by descending id;
run;
(3) 重複を除く
・データセット指定箇所でnodupkeyを書く(nodupで省略可)
・byで指定した変数(群)に対して1番上のオブザベーションを残す
・単純に重複したデータを削除したい場合、1つのIDに対して1オブザベーションほしい場合に使用する
proc sort data=data01 out=out03 nodupkey;
by id;
run;