変数の値が0,1の二値を取る時に信頼区間を求めるお話です
信頼区間を求めたい変数に、0と1の両方があれば良いのですが
値として0しかない、1しかない時は往々にしてあると思います。
そんな時はweightステートメントにzeroesオプションを付けましょうと言うお話です。
tabelsステートメントの(level='1')は変数の値が1のものをpositiveとして計算してください、の意味です。
これも良く忘れて、二値データのどっちがpositiveだっけ?となる…気がします
/* ---------- ここからプログラム --------- */
*---------- test data/水準0がなく、1しかないデータ;
data hoge;
a = 1; output;
a = 1; output;
a = 1; output;
run;
*---------- 後でweight考慮するために集計;
proc freq data = HOGE noprint;
tables a / out = HOGE_FREQ ;
run;
*---------- dummy data;
data DUM;
a = 0; COUNT = 0; output;
a = 1; COUNT = 0; output;
run;
*---------- データに無い水準は0件としてデータに持たせる;
data HOGE2;
merge DUM HOGE_FREQ ;
by A;
drop PERCENT;
run;
*---------- 信頼区間/正確な信頼区間はXL_BIN-XU_BIN;
proc freq data = HOGE2 noprint;
tables a / binomial(level = '1');
exact binomial;
weight COUNT / zeroes;
output out = TEST_OUT;
run;
0 件のコメント:
コメントを投稿