最近 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
マクロ書こうとして損しました。