Sas: where ステートメントで proc freq を使用する方法


SAS のPROC FREQWHEREステートメントを使用するには、次の基本構文を使用できます。

 proc freq data =my_data;
    where var1 ='A';
    tables var2;
run ;

この特定の構文は、 var2という変数の度数表を作成しますが、 var1 が「A」に等しい行に対してのみ作成されます。

次の例は、この構文を実際に使用する方法を示しています。

例: SAS での WHERE ステートメントでの Proc FREQ の使用

SAS に次のデータセットがあると仮定します。

 /*create dataset*/
data my_data;
    input team $position $points;
    datalines ;
A Guard 22
A Guard 20
A Guard 30
A Forward 14
A Forward 11
B Guard 12
B Guard 22
B Forward 30
B Forward 9
B Forward 12
B Forward 25
;
run ;

/*view dataset*/
proc print data =my_data; 

次のPROC FREQステートメントをWHEREステートメントとともに使用すると、チームが「A」に等しい行のみのポジション列の値の頻度を計算できます。

 /*calculate frequency of position where team is equal to 'A'*/
proc freq data =my_data;
    where team='A';
    position tables ;
run ; 

出力には、チームが「A」に等しい行のみのポジション変数値の頻度が表示されます。

たとえば、次のことがわかります。

  • チーム A には「Forward」という値が2 回表示されます。
  • チームAでは「ガード」値が3回出現します。

OR演算子とAND演算子を使用して、 WHEREステートメントで複数の条件を指定することもできます。

たとえば、次のコードを使用して、チームが「A」に等しくポジションが「ガード」に等しいポジション列の値の頻度を計算できます。

 /*calculate frequency of position where team is 'A' and position is 'Guard'*/
proc freq data =my_data;
    where team='A' and position='Guard';
    position tables ;
run ; 

出力には、チームが「A」に等しく、ポジションが「ガード」に等しい行についてのみ、ポジション変数値の頻度が表示されます。

: PROC FREQ の完全なドキュメントはここにあります。

追加リソース

次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。

SAS での手順の概要の使用方法
SAS で Proc Tabulate を使用する方法
SAS で Proc 照合を使用する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です