2013年11月15日金曜日

有害事象の発現例数と件数を簡単に出す。


安全性の解析で出てくる有害事象の集計。
例数と件数をなるべく簡単に少ないステップで出したい。
SQLなら簡単にできてしまう。


* サンプルデータ ;
data AE;
  length SUBJID $3. AETERM $20. AESTDT 8.;
  input SUBJID$ AETERM$ AESTDT;
  informat AESTDT yymmdd10.;
  format AESTDT yymmdds10.;
cards;
001 RBC上昇 2012/01/02
001 WBC減少 2212/02/05
002 RBC上昇 2012/01/05
002 WBC減少 2012/01/05
003 WBC減少 2012/02/10
;
run;












このデータから以下のように有害事象の発現例数・件数を出したい。
(症例内で同じ事象が複数回発現してる場合の扱いとかは、今回の例では特に考えてないです)





* SQLで発現例数と件数を1STEPで出す ;
proc sql;
  create table AE_N as
  select count( distinct SUBJID ) as N1,
             count( SUBJID ) as N2
  from AE;
quit;


N1が例数、N2が件数を求めた結果。



簡単に解説
  • SQLのCOUNT関数: 引数が非欠損値のレコード数を求める
  • DISTINCT: 関数の中に指定すると、引数の値から重複を除いたレコードを計算対象とする

今回の例だと「count( distinct SUBJID )」で、SUBJIDの値から重複を除いた非欠損値のレコード数を求めています(=例数が求まる)

0 件のコメント:

コメントを投稿