Sas でグループごとに観測値をカウントする方法
次の方法を使用して、SAS のグループごとに合計観測値をカウントできます。
方法 1: グループごとに観測値をカウントする
proc sql ;
select var1, count(*) as total_count
from my_data
group by var1;
quit ;
方法 2: 複数のグループごとに観測値をカウントする
proc sql ;
select var1, var2, count(*) as total_count
from my_data
group by var1, var2;
quit ;
次の例は、SAS の次のデータセットで各メソッドを使用する方法を示しています。
/*create dataset*/
data my_data;
input team $position $points;
datalines ;
A Guard 15
A Guard 12
A Guard 29
A Forward 13
A Forward 9
A Forward 16
B Guard 25
B Guard 20
C Guard 34
C Forward 19
C Forward 3
C Forward 8
;
run ;
/*view dataset*/
proc print data =my_data;
例 1: グループごとの観測値のカウント
次のコードは、チームごとの観測の合計数をカウントする方法を示しています。
/*count observations by team*/
proc sql ;
select team, count(*) as total_count
from my_data
group by team;
quit ;
結果から、チーム A には6 つの観測値が含まれ、チーム B には2 つの観測値が含まれ、チーム C には4 つの観測値が含まれていることがわかります。
例 2: 複数のグループによる観測値のカウント
次のコードは、チームおよびポジションごとにグループ化された観測値の合計数をカウントする方法を示しています。
/*count observations by team and position*/
proc sql ;
select team, position, count(*) as total_count
from my_data
group by team, position;
quit ;
出力テーブルから次のことがわかります。
- チームAには合計3人の選手が所属し、アタッカーのポジションを占めます。
- チームAには合計3人の選手が所属し、ガードのポジションを占めています。
- チームBには合計2人の選手が所属し、ガードのポジションを占めています。
- チームCには合計3人の選手が所属し、アタッカーのポジションを占めています。
- チームAに所属し、ガードポジションに就く選手は合計1名となります。
追加リソース
次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。
SAS でデータを正規化する方法
SAS で変数の名前を変更する方法
SAS で重複を削除する方法
SAS で欠損値をゼロに置き換える方法