見出し画像

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;

この記事が気に入ったらサポートをしてみませんか?