Sas: where ステートメントで proc freq を使用する方法
SAS のPROC FREQでWHEREステートメントを使用するには、次の基本構文を使用できます。
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 照合を使用する方法