グループ間連番をふる方法を簡単に紹介。
サンプルデータ
data DT1; input SUBJID$ VAL$; cards; 001 a 001 b 005 c 005 d 005 e 010 f 010 g ; データセット「DT1」 SUBJID VAL 001 a 001 b 005 c 005 d 005 e 010 f 010 g |
求めたい結果 「SUBJID」毎の連番をふる。 SUBJID VAL SEQ 001 a 1 001 b 1 005 c 2 005 d 2 005 e 2 010 f 3 010 g 3 |
連番をふる
*** 方法1 **********; proc sort data=DT1; by SUBJID; run; data DT2; set DT1; by SUBJID; if first.SUBJID then SEQ+1 ; run; |
*** 方法2 **********; proc sort data=DT1; by SUBJID; run; data DT2; set DT1; by SUBJID; SEQ + first.SUBJID ; run; |
方法2の方がスッキリしてるのでおすすめ。
0 件のコメント:
コメントを投稿