欠損値をもつ変数の個数について
[OS] ALL
[リリース] ALL
[キーワード] Base, DATA, week of the month, INTNX
[質問]各オブザベーションに対して、欠損値をもつ変数の数をカウントしたいのですが、どのようにしたらよいですか。
[回答]
カウントする変数が数値変数の場合、NMISS関数が利用できます。
/* サンプルデータ */ DATA TEST; INPUT c1 $ c2 $ c3 $ n1 n2 n3; CARDS; A B C 0 1 0 A . . 1 . . . B C . 1 0 . . . . . . ; RUN; DATA TEST2; SET TEST; n_cnt=NMISS(of n1-n3); /* 数値変数の欠損値の数 */ /* 文字変数の欠損値の数 */ ARRAY test(*) _CHARACTER_; /* すべての文字変数を配列に入れる */ c_cnt=0; /* 欠損値を見つけるごとにcntをひとつ足す */ DO i=1 TO DIM(test); IF MISSING(test(i)) > 0 THEN c_cnt+1; END; RUN;
|