安全性の解析で出てくる有害事象の集計。
例数と件数をなるべく簡単に少ないステップで出したい。
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 N2from AE;
quit;
N1が例数、N2が件数を求めた結果。
簡単に解説
- SQLのCOUNT関数: 引数が非欠損値のレコード数を求める
- DISTINCT: 関数の中に指定すると、引数の値から重複を除いたレコードを計算対象とする
今回の例だと「count( distinct SUBJID )」で、SUBJIDの値から重複を除いた非欠損値のレコード数を求めています(=例数が求まる)
0 件のコメント:
コメントを投稿