The Nameless City

何故か製薬やSAS関連のブログ、の予定。

特殊欠損値の扱いについて少し。

sas-tumesas.blogspot.com
を見て。

特殊欠損値は、気がつく人は気がつく、知らない人は知らないし分かりづらいのであんまり使う事はないのですが。
以下サンプル。

data _NULL_ ;
  a = .M ;
  put a ;
  if a^=. then put '特殊欠損値は通常の欠損値とは異なります' ;
  if missing(a) then put '関数を使うと特殊欠損値も欠損値として扱えます' ;
run ;
1    data _NULL_ ;
2      a = .M ;
3      put a ;
4      if a^=. then put '特殊欠損値は通常の欠損値とは異なります' ;
5      if missing(a) then put '関数を使うと特殊欠損値も欠損値として扱えます' ;
6    run ;

M
特殊欠損値は通常の欠損値とは異なります
関数を使うと特殊欠損値も欠損値として扱えます
NOTE: DATAステートメント処理(合計処理時間):
      処理時間           0.07 秒
      CPU時間            0.00 秒

なお、どっかに書いたような気もするけど、SASが統計プロシージャ内で使っている事もあるので、念の為知っておいた方がいいかもです。
「._」は文字としては表示しない、「.I」が「Infinity」、「.M」が「-Infinity」という形でANOVAのTemplate(SASHELP.TMPLSTAT.STAT.GLM.ANOVAとか)に記載されています。
ODS OUTPUTで統計結果を拾ってる場合には値としてこれらの特殊欠損値が出て来るかもという事です。