FREQプロシジャは、変数の値を、そのフォーマットされた値に従ってグループ化します。FORMATステートメントを使って変数に出力形式を割り当てると、FREQプロシジャは、変数値をフォーマットした後で、オブザベーションを度数表やクロス集計表へと分割します。
たとえば、変数X
が値1.1、1.4、1.7、2.1、2.3を持つとします。これらの各値は、度数表内の1つの水準として表示されます。各値を1桁に四捨五入する場合、FREQプロシジャのステップ内に次のステートメントを指定します。
format X 1.;
この結果作成される表では、フォーマットされた水準1の度数カウントは2、フォーマットされた水準2の度数カウントは3として表示されます。
FREQプロシジャは、フォーマットされた文字変数を同じ方法で取り扱います。フォーマットされた値を使用すると、オブザベーションを度数表やクロス集計表の各水準へとグループ化できます。FREQプロシジャは、文字出力形式の全体的な値を使用して、オブザベーションを分類します。
また、FORMATステートメントを使用すると、FORMATプロシジャにより作成された出力形式を変数に割り当てることができます。ユーザー定義出力形式は、変数の水準数を決定し、表ラベルを提供します。同じデータを異なる出力形式で使用すると、変数値の異なる分類に基づいて度数カウントや統計量を計算できます。
FORMATプロシジャを使用して、欠損値と非欠損値を1つのカテゴリへと結合するようなユーザー定義出力形式を作成する場合、FREQプロシジャは、そのユーザー定義出力形式でフォーマットされた値のカテゴリ全体を欠損値として扱います。たとえば、あるアンケートでは回答コード1がYes、回答コード2がNo、回答コード8が無回答を表すとします。次のPROC FORMATステートメントは、このようなアンケート用のユーザー定義出力形式を作成します。
proc format; value Questfmt 1 ='Yes' 2 ='No' 8,. ='Missing'; run;
FORMATステートメントを使ってQuestfmt.
をある変数に割り当てると、その変数の度数表には、回答コード8の度数カウントが含められなくなります。無回答の度数を表に含めるには、TABLESステートメントでMISSINGオプションまたはMISSPRINTオプションを指定する必要があります。この水準の度数カウントには、値8または欠損値(.)を含むオブザベーションが含められます。
度数表やクロス集計表には、文字変数と数値変数の両方の値が(フォーマットされていない)内部値に基づいて昇順でリスト表示されます。値の表示順を変更するには、ORDER=オプションを使用します。これらの値をフォーマットされた値に基づいて昇順でリスト表示するには、PROC FREQステートメントでORDER=FORMATTEDオプションを使用します。
FORMATステートメントの詳細は、SAS Formats and Informats: Referenceを参照してください。