如何在sas中计算每组的总和


在SAS中可以使用以下方法按组计算值的总和:

方法一:按组计算总和

 proc sql ;
    select var1, sum(var2) as sum_var2
    from my_data
    group by var1;
quit ;

方法二:分几组求和

 proc sql ;
    select var1, var2, sum(var3) as sum_var3
    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
B Guard 34
B Forward 19
B Forward 3
B Forward 8
;
run ;

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

示例1:按组计算总和

下面的代码展示了如何计算每队的得分总和:

 /*calculate sum of points by team*/
proc sql ;
    select team, sum(points) as sum_points
    from my_data
    group by team;
quit ;

从成绩中我们可以看到,A队的选手总共得到了94分,B队的选手总共得到了109分。

例2:计算多组之和

以下代码展示了如何计算按团队和位置分组的积分总和:

 /*calculate sum of points by team, grouped by team and position*/
proc sql ;
    select team, position, sum(points) as sum_points
    from my_data
    group by team, position;
quit ; 

生成的表格显示了球员根据其球队和位置获得的分数总和。

其他资源

以下教程解释了如何在 SAS 中执行其他常见任务:

如何标准化 SAS 中的数据
如何在SAS中重命名变量
SAS中如何删除重复项
SAS中如何用零替换缺失值

添加评论

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