Sas:如何使用 proc sgplot 绘制组图
您可以使用以下方法在 SAS 中使用PROC SGPLOT绘制组图:
方法 1:将每个组绘制在单独的图表中
/*create multiple plots that show histogram of points for each team*/
proc sgplot data =my_data;
by team;
histogram points;
density points / type =kernel;
run ;
by语句告诉 SAS 为团队列中的每个唯一值创建单独的直方图。
方法 2:在单个图中绘制每个组
/*plot histogram of points for each team on one chart*/
proc sgplot data =my_data;
histogram points / group =team;
density points / type =kernel group =team;
run ;
组指令告诉 SAS 为覆盖在同一图表上的团队列中的每个唯一值显示单独的直方图。
以下示例展示了如何在 SAS 中对以下数据集使用每种方法:
/*create dataset*/
data my_data;
input team $points;
datalines ;
At 29
At 23
At 20
At 21
At 33
At 35
At 31
B 21
B14
B15
B 11
B 12
B 10
B15
;
run ;
/*view dataset*/
proc print data =my_data;
示例 1:使用 PROC SGPLOT 将每个组绘制在单独的图表中
我们可以使用PROC SGPLOT中的by语句来创建单独的直方图,显示每个团队的得分分布:
/*create multiple plots that show histogram of points for each team*/
proc sgplot data =my_data;
by team;
histogram points;
density points / type =kernel;
run ;
第一个直方图显示 A 队的得分分布,第二个直方图显示 B 队的得分分布。
注意:密度声明是可选的,但它显示每个直方图的密度曲线,这可以是总结分布形状的有用方法。
示例 2:使用 PROC SGPLOT在图表中绘制每个组
我们可以使用PROC SGPLOT中的group语句创建一个图表,其中包含每个团队得分分布的重叠直方图:
/*plot histogram of points for each team on one chart*/
proc sgplot data =my_data;
histogram points / group = team transparency = 0.5 ;
density points / type =kernel group =team;
run ;
蓝色直方图显示了A队的分值分布,红色直方图显示了B队的分值分布。
使用这种方法的优点是我们可以快速比较每个团队的分值分布,因为每个直方图都放置在同一个图表上。
注意:透明度参数使直方图透明并且在重叠时更易于阅读。将此值设置为1越多,直方图变得越透明。
其他资源
以下教程解释了如何在 SAS 中创建其他图表: