在SAS系列11我们介绍了利用ODS输出结果的常用ODS语句,这些语句可以以不同格式(如EXCEL、WORD、PDF等)来输出生成的SAS图形。这一期我们主要介绍利用ODS GRAPHICS语句控制和输出SAS图形。
应用ODS HTML语句和ODS LISTING语句,可以控制图片的输出路径,图片的分辨率;应用ODS GRAPHICS语句,可以控制图片的大小、名称和格式等,常见语句如下:
*===程序1;
ODS LISTING GPATH="E:\study file\Jindingtongji\SAS\GRAPH" IMAGE_DPI=300;
ODS GRAPHICS ON/BORDER=OFF OUTPUTFMT=SVG WIDTH=10CM HEIGHT=7.1CM
IMAGEMAP=ON IMAGENAME="HTML-400";
PROC SGPLOT DATA=ANA;
HISTOGRAM AGE;
DENSITY AGE;
RUN;
*===程序2;
ODS HTML GPATH="E:\study file\Jindingtongji\SAS\GRAPH" IMAGE_DPI=300;
ODS GRAPHICS ON/BORDER=OFF OUTPUTFMT=SVG WIDTH=10CM HEIGHT=7.1CM
IMAGEMAP=ON IMAGENAME="HTML-400";
PROC SGPLOT DATA=ANA;
HISTOGRAM AGE;
DENSITY AGE;
RUN;
ODS GRAPHICS语句除了上面介绍的控制图片的大小、名称和格式等以外,主要用于生成统计图形的功能。然而,在SAS中有很多过程步可以生成统计图形,如PROC GPLOT。为什么我们还要用ODS GRAPHICS来生成统计图形呢?因为简单,只需要很少的代码就可以生成很多标准的统计图形。例如我们在PROC REG过程步之前加上ODS GRAPHICS语句就可以得到想要的统计图形,如果用PROC GPLOT过程步就需要更多的代码来生成统计图形,我们通过下面两个程序来对此进行说明。
*====程序3;
ODS HTML GPATH="E:\study file\Jindingtongji\SAS\GRAPH\REG";
ODS GRAPHICS ON;
PROC REG DATA =SASHELP.CLASS;
MODEL WEIGHT = HEIGHT;
QUIT;
ODS GRAPHICS OFF;
图8-1 ODS GRPAHICS生成回归诊断面板图
图8-2 ODS GRPAHICS生成回归拟合图
图8-3 ODSGRPAHICS生成回归残差图
*====程序4;
*===生成统计图形的数据集;
PROCREGDATA =SASHELP.CLASS;
MODEL WEIGHT = HEIGHT;
OUTPUTOUT=REGP=WHAT R=RESID;
RUN;
*===应用PROCGPLOT过程步生成回归残差图;
PROC GPLOTDATA=OUTREG;
PLOTRESID*HEIGHT/ HAXIS=AXIS1 VAXIS=AXIS2 FRAMEVREF=0;
AXIS1LABEL=(HEIGHT=2.5'HEIGHT')
MINOR=NONE ORDER=(50TO80BY10)
OFFSET=(2,0) VALUE=(HEIGHT=2.5);
AXIS2LABEL=(HEIGHT=2.5 'RESIDUAL')
MINOR=NONE ORDER=( -20TO20BY10)
OFFSET=(2,5) VALUE=(HEIGHT=2.5);
SYMBOL1FONT=SWISS VALUE=O H=2.4INTERPOL=NONE;
TITLE'RESIDUAL BY REGRESSORS FOR WEIGHT';
RUN;
QUIT;
图8-4 PROCGPLOT生成回归残差图
从两个程序输出的图形结果可以看出,通过ODS GRAPHICS语句可以输出PROC REG过程步中产生的所有统计图形,而PROC GPLOT语句绘制PROC REG过程的图形就需要更多的代码来完成。因此,ODS GRAPHICS生成统计图形比较简单。
参考文献:
[1] 谷鸿秋. SAS编程演义[M]. 北京:清华大学出版社,2017.
[2] 高惠璇. SAS系统Base SAS软件使用手册[M]. 北京:中国统计出版社,1997.
[3] https://support.sas.com/en/software/base-sas-support.html.
[4] 夏庄坤, 徐唯, 潘红莲, 等. 深入解析SAS——数据处理、分析优化与商业应用[M]. 北京: 机械工业出版社,2014.
----------------------------------------------
----------------------------------------------
精鼎特邀
联系客服