Triad sou.

FREQ procedure の sparse オプションについて

最近 FREQ procedure をよく使ってます、便利ですよね。
FREQ procedure は便利なのですが、table statement 中の out オプションで分割表の集計結果をデータセットに出力するときに、デフォルトでは度数が 0 のセルを出力してくれません。
0 セルを出力したい場合は、sparse オプションをつけてあげると良いようです。

data sparse;
do y = 0 to 1;
do x = 0 to 1;
  input n @@;
  do i = 1 to n;
    output;
  end;
end; end;
cards;
10 20
 0 21
;
proc freq data = sparse noprint;
  tables y * x / sparse out = Tsparse;
proc print; run;
proc freq data = sparse noprint;
  tables y * x / nosparse out = Nsparse;
proc print; run;
sparse オプション

OBS    y    x    COUNT    PERCENT

 1     0    0      10     19.6078
 2     0    1      20     39.2157
 3     1    0       0      0.0000
 4     1    1      21     41.1765
nosparse オプション (default)

OBS    y    x    COUNT    PERCENT

 1     0    0      10     19.6078
 2     0    1      20     39.2157
 3     1    1      21     41.1765

マクロ書こうとして損しました。