Sas: order オプションを指定した proc freq の使用方法
SAS でPROC FREQ をORDER=FREQオプションとともに使用すると、テーブル内のカテゴリが頻度によってソートされた頻度テーブルを作成できます。
これを行うには、次の構文を使用できます。
proc freq data=my_data order =freq;
tables my_variable;
run ;
次の例は、この構文を実際に使用する方法を示しています。
例: SAS で ORDER オプションを指定した PROC FREQ の使用
この例では、 BirthWgtという SAS 組み込みデータセットを使用します。これには、最近出産した 100,000 人の母親のさまざまな特徴が含まれています。
PROC PRINT を使用して、このデータセットの最初の 10 個の観測値を表示できます。
/*view first 10 observations from BirthWgt dataset*/ proc print data =sashelp.BirthWgt( obs = 10 ); run ;
次のコードを使用して、Race 変数の度数テーブルを作成できます。
/*create frequency table for Race variable*/
proc freq data =sashelp.BirthWgt;
Race tables ;
run ;
現在、カテゴリはアルファベット順に並べ替えられていることに注意してください。
カテゴリを頻度で並べ替えるには、次の構文を使用できます。
/*create frequency table for Race variable, sorted by frequency*/
proc freq data =sashelp.BirthWgt order =freq;
Race tables ;
run ;
カテゴリが頻度に基づいて最高から最低の順に並べ替えられるようになったことに注意してください。
残念ながら、頻度に基づいてカテゴリを最低から最高まで並べ替えるオプションは組み込まれていません。
ただし、 PROC SORTステートメントで次の回避策を使用すると、頻度の低いものから高いものの順に並べ替えることができます。
/*create frequency table and store results in Racefreq*/
proc freq data=sashelp.BirthWgt noprint ;
tables Race / out =Racefreq;
run ;
/*sort Racefreq based on frequency from lowest to highest*/
proc sort data =Racefreq;
by count;
run ;
/*create new dataset with cumulative freq and cumulative percent*/
data freq_low_to_high;
set Racefreq;
cumcount + count;
cumcent + percent;
run ;
/*view results*/
proc print data =freq_low_to_high;
カテゴリが頻度に基づいて最低から最高の順に並べ替えられるようになったことに注意してください。
追加リソース
次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。
SAS: WHERE ステートメントで PROC FREQ を使用する方法
SAS: グループごとに PROC FREQ を使用する方法
SAS: PROC RANK の使用方法