2016年7月26日火曜日

freqはbyステートメントを空白指定しても通る話

freqプロシジャってbyステートメントを空白にしても通るんですね
byステートメントを書いたら、何かは指定しないとエラー出ると思ってました

データはSASのガイドから拝借しました

/*testデータ*/
data hoge;
    input Region Eyes $ Hair $ Count @@;
    label Eyes  ='Eye Color'
             Hair  ='Hair Color'
             Region='Geographic Region';
datalines;
1 blue    fair         23  1 blue  red     7  1 blue  medium 24
1 blue    dark       11  1 green fair   19  1 green red     7
1 green  medium 18  1 green dark   14  1 brown fair   34
1 brown red         5  1 brown medium 41  1 brown dark   40
1 brown black      3  2 blue  fair   46  2 blue  red    21
2 blue    medium 44  2 blue  dark   40  2 blue  black   6
2 green  fair         50  2 green red    31  2 green medium 37
2 green  dark        23  2 brown fair   56  2 brown red    42
2 brown medium 53  2 brown dark   54  2 brown black  13
;

以下は両方通る
*--byステートメントを空白指定----;
proc freq data=Color noprint;
   by ;
   tables eyes Hair Eyes*Hair / out=FreqCount outexpect sparse;
   weight Count;
run;

*--byステートメントに変数を指定------;
proc freq data=Color noprint;
   by region;
   tables eyes Hair Eyes*Hair / out=FreqCount outexpect sparse;
   weight Count;
run;

byステートメントに空白を指定した場合、byステートメントを書かなかったのと同じ結果になります。




0 件のコメント:

コメントを投稿