Sas:如何用标准误差线绘制平均值


您可以在 SAS 中使用以下语法按组创建带有标准误差条的平均值图:

 /*calculate mean and standard error of points for each team*/
proc sql ;
create table groupPlot as
select 
    team, 
    mean(points) as meanPoints, 
    mean(points) - stderr (points) as lowStdPoints,    
    mean(points) + stderr (points) as highStdPoints
from my_data
group by team;
quit ;

/*create plot with mean and standard error bars of points for each team*/
proc sgplot data =groupPlot;
scatter x =team y =meanPoints / 
    yerrorlower =lowStdPoints yerrorupper =highStdPoints group =team;
series x =team y =meanPoints / group =team;
run ;

此特定示例使用PROC SQL计算变量的平均值,该变量按数据集中的团队变量分组。

然后,我们使用PROC SGPLOT创建一个图,显示变量的平均值以及标准误差条,并按团队变量分组。

以下示例展示了如何在实践中使用此语法。

示例:在 SAS 中使用标准误差线绘制均值

假设我们有以下数据集,其中包含来自不同球队的篮球运动员得分的信息:

 /*create dataset*/
data my_data;
    input team $points;
    datalines ;
At 29
At 23
At 20
At 21
At 33
B14
B 13
B17
B14
B15
C 21
C22
C 20
C25
C24
;
run ;

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

假设我们想要创建一个图表,显示每个团队的平均分值以及标准误差线。

我们可以使用以下语法来做到这一点:

 /*calculate mean and standard error of points for each team*/
proc sql ;
create table groupPlot as
select 
    team, 
    mean(points) as meanPoints, 
    mean(points) - stderr (points) as lowStdPoints,    
    mean(points) + stderr (points) as highStdPoints
from my_data
group by team;
quit ;

/*create plot with mean and standard error bars of points for each team*/
proc sgplot data =groupPlot;
scatter x =team y =meanPoints / 
    yerrorlower =lowStdPoints yerrorupper =highStdPoints group =team;
series x =team y =meanPoints / group =team;
run ; 

小圆圈显示每支球队得分的平均值,从圆圈延伸的条形显示每支球队得分的标准误差。

我们还可以使用PROC SQL打印我们创建的表来查看平均值和标准误差的实际值:

 /*print mean and standard error of points for each team*/
proc print data =groupPlot;

该表中的值与上图所示的值相对应。

其他资源

以下教程解释了如何在 SAS 中创建其他图表:

如何在 SAS 中创建线图
如何在 SAS 中按组创建箱线图
如何在 SAS 中创建带有回归线的散点图

添加评论

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