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 で欠損値をゼロに置き換える方法

コメントを追加する

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