如何在 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中如何用零替换缺失值

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注