指定した変数のうち、欠損値の数を返してくれます。
おススメポイントが、数値変数・文字変数どちらも指定可能という点です。
基本的な使用例は以下記事で紹介済みなので、そちらをご覧ください。
欠損値のチェックを簡単に行う。
では、CMISSを使わない場合と、使う場合とでプログラムを比較してみましょう。
例えば、以下のようなデータセットがあったとします。
data DT1;
X1=1;
X2=.;
X3="aaa";
run;
X1=1;
X2=.;
X3="aaa";
run;
X1
|
X2
|
X3
|
---|---|---|
1 | . | aaa |
この変数 X1~X3 のうち、いずれかが欠損値の場合、変数Yにフラグ「1」を立てたいとします。
まずはCMISSを使わない場合。
Before
data DT2;
set DT1; if X1=. or X2=. or X3="" then Y=1; run;
|
そしてCMISSを使う場合。
After
data DT2;
set DT1; if cmiss(X1,X2,X3)>0 then Y=1; run;
|
今回の例だとCMISSを使った成果が見えづらいですが、変数の数が多いと非常にスッキリとした文になります。
CMISSは便利なのに知名度が低いので、すごい勿体ない。
7.CMISS関数
0 件のコメント:
コメントを投稿