如何在sas中计算每组的平均值


在SAS中可以使用以下方法按组求平均值:

方法一:按组计算平均值

 proc sql ;
    select var1, mean(var2) as mean_var2
    from my_data
    group by var1;
quit ;

方法二:多组计算平均值

 proc sql ;
    select var1, var2, mean(var3) as mean_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 mean of points by team*/
proc sql ;
    select team, mean(points) as mean_points
    from my_data
    group by team;
quit ;

从结果中我们可以看到,A队选手平均得分为15.66667分,B队选手平均得分为18.16667分。

示例2:计算多组平均值

以下代码显示了如何按团队和位置计算平均分:

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

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

其他资源

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

如何在 SAS 中按组对观察值进行计数
如何在SAS中计算每组的总和
如何在SAS中创建频率表

添加评论

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