まずサンプル作りから。
*** 患者背景データ ; data DT1; length SUBJID $3.; input SUBJID$ AGE SEX$; cards; 001 51 F 002 25 M 003 30 F ; run; proc sort data=DT1; by SUBJID; run;
*** 有害事象データ ; length SUBJID $3. AETERM $20.; input SUBJID$ AETERM$ ; cards; 001 発熱 001 不眠 003 腹痛 ; run; proc sort data=DT2; by SUBJID; run;
|
DT1は患者ID(SUBJID)毎の年齢(AGE)や性別(SEX)など患者情報が入っているデータです。
DT2は患者ID(SUBJID)毎の治験実施時の有害事象(AETERM)が入っているデータです。
ここで以下のように書くと、、
data OUT3; update DT1 DT2 (keep=SUBJID in=X); by SUBJID; if X then AEFLG=1; run;
|
有害事象が発現してるかどうかの変数AEFLGを患者背景データに作ることができました。
UPDATEステートメントによって有害事象データがBY値毎に1行にまとまってくれるとこが便利です。
仕組みについては「UPDATEステートメント入門」を参照。
もっと面白いことができるのでまた今度紹介したいと思います。
0 件のコメント:
コメントを投稿