一部の集計系プロシジャ(PROC FREQ, MEANS, REPORTなど)では「ORDER=オプション」をサポートしています。
例えば性別の頻度集計で「男→女」や「女→男」の順で出すなど、出力順をカスタマイズできます。
今回はPROC FREQでの使用例を見ていきましょう。
📝 注意
-----------------------------------------------------------------------
他のオプションとの組み合わせで、ORDER=オプションが機能しなかったり、出力順が変わることがあります。詳細はリファレンスを確認下さい。
(例えば、PROC MEANS等で「PRELOADFMT」や「CLASSDATA=」オプションを使う場合など)
-----------------------------------------------------------------------
- ORDER = INTERNAL … 変数値を昇順に並び替えて出力
PROC FREQのデフォルトはORDER=INTERNALです。
- ORDER = DATA … データセットに格納されている値の順に出力
注意点:「ORDER=DATA」の落とし穴
- ORDER = FREQ … 度数が多い順に出力
- ORDER = FORMATTED … 変数に割り当てたフォーマットに変換させた時の値順。
指定場所は以下のように様々です。詳細が知りたい方は別途リファレンスをご覧ください。
* PROC MEANS : CLASS変数全体にORDER=オプションを適用 ; proc means data=xx order=internal; var xx; class yy; run; * PROC MEANS : CLASS変数YYにORDER=オプションを適用 ; proc means data=xx ; var xx; class yy / order=internal; class zz ; run; proc report data=xx; column xx yy; define xx / order order=internal; define yy / display; run; |
今回紹介したオプションの他に、よく使用されるMISSINGオプションも参考に。