最具影响力的数字化技术在线社区

168主编 发表于 2016-1-30 10:08:41

SAS绘图是不真的又难又丑啊?

作者:谷鸿秋数说君推荐语作为一名统计狗,SAS的绘图一直是我的一个心病,之前也准备系统的写一些关于SAS绘图的文章,但….SAS的绘图实在让我提不起兴趣啊,直到我看到了这篇文章,才知道我之前那么天真,真是too simple!。虽然SAS在商业统计分析软件领域一直是龙头老大,称王称霸多年,但如果说到统计绘图,那简直就是一个一直无法抹去的伤痛。长久以来,SAS的统计绘图功能饱受诟病:一是默认图形其丑无比,简直难以直视;二是图形元素老套死板,不够活泼灵动;三是绘图语法复杂多变,难以掌握。
http://www.36dsj.com/wp-content/uploads/2016/01/462_1.png即便如此,仍然有人不离不弃,不遗余力地用SAS 绘制出了许多令人难以置信的精美图形,Sanjay Matange 和Robert Allison就是两位代表人物。

http://www.36dsj.com/wp-content/uploads/2016/01/463_1.pnghttp://www.36dsj.com/wp-content/uploads/2016/01/464_1.pnghttp://www.36dsj.com/wp-content/uploads/2016/01/465_1.pnghttp://www.36dsj.com/wp-content/uploads/2016/01/466.gif
太死?其实SAS为了讨好用户,也一直在努力改进,从SAS 9.2开始,ODS Graphic System的出现,使得SAS在统计绘图方面的美观性和便捷性方面大有改观。今天,就简单八一八SAS的统计绘图系统吧,或者更确切的说,来看看SAS有哪些可以绘制统计图形的方式。那么,SAS有哪些可以绘制统计图形的方式呢?我个人总结的有四种。1. 文本图形:Data _NULL_你可能觉得会奇怪,DATA _NULL_也能绘图?是的,Data _NULL_通过在特定位置输出一些特定的文本字符,确实可以产生一种奇特的图形效果。
http://www.36dsj.com/wp-content/uploads/2016/01/467_1.png2. 专用统计绘图过程:SAS/GRAPH
SAS/GRAPH模块在SAS 9.2之前,是SAS绘图的主要武器。不过GRAPH模块绘图过程和语法风格过于嘈杂混乱,给人感觉总是缺乏统一的风格和规范化过程。经常是每换一种图形就需要换一个过程,而每个过程里的一些语法风格还不尽相同,所以总是记不住SAS的绘图过程和语法的我们,也是情有可原的。不过,要细说起SAS/GRAPH模块,这里面的绘图也许可以分成三大块。Proc chart/plot 系列,这就是类似DATA _NULL_的风格图形Proc Gchart/Gplot系列,感觉还像那么回事的图形Annotate组件,绘图可以灵活添加图形元素,但是语法麻烦http://www.36dsj.com/wp-content/uploads/2016/01/468_1.pnghttp://www.36dsj.com/wp-content/uploads/2016/01/469_1.pnghttp://www.36dsj.com/wp-content/uploads/2016/01/470_1.pnghttp://www.36dsj.com/wp-content/uploads/2016/01/472_1.png3. 统计分析过程的副产品你可能碰到过,但是没有认真留意过。我们在做统计分析过程中,很多结果是以图形形式展现的,比如回归分析时的诸多拟合诊断图,LOGISTIC回归时的ROC图,生存分析的K-M曲线等等。这个在SAS 9.2时需要设置ODS graphics on,9.2之后的版本默认是打开的。这其实就是打开了一个开关,一个专用的统计绘图系统的开关。这个专用的统计绘图系统就是我们要说的第四种方式:ODS Graphics System。http://www.36dsj.com/wp-content/uploads/2016/01/473_1.png
4. 专用的统计绘图系统:ODS Graphics System
ODS Graphics System是SAS 9.2推出的产品,后来将其包含在了SAS BASE 中,这意味着不再需要单独购买lisence。 相对于SAS/GRAPH来说,这个系统更为轻巧,语法也更为简单,规范,风格也更趋于统一。这也是越来越多的SAS统计师、程序员开始抛弃SAS/GRAPH而转向ODS Graphics System的原因。如果你用过R,ODS Graphics System相对于SAS就有点类似GGPLOT2相对于R的味道了。ODS Graphics System包括了四方面的内容:ODS Graphics Procedure: 这是ODS Graphics的绘图过程,其中的一个绘图过程Proc Sgplot 几乎可以解决大多数统计图形。加上散点图的Sgcatter,面板图的Sgpanel以及配合GTL的Sgrender和Sgdesign,几乎可以取代SAS GRAPH模块了。
http://www.36dsj.com/wp-content/uploads/2016/01/474_1.pngProc sgplot的简洁
http://www.36dsj.com/wp-content/uploads/2016/01/475_1.pngProc sgplot的丰富和强大GTL:Graphic Template Language, 这是ODS的终级武器,ODS Graphics Procedure的底层其实也是通过GTL来实现的。相对于ODS Graphics Procedure,GTL以一定的语法复杂性换取了更大的绘图自由空间。比如,大家垂涎许久的森林图。
http://www.36dsj.com/wp-content/uploads/2016/01/476_1.png森林图,SAS也能画呀!
另外就是ODS Graphics System的两个图形界面工具:ODS Graphics Editor:可以对ODS图形进行一定的编辑哦,这个是不没料想到啊?
http://www.36dsj.com/wp-content/uploads/2016/01/477_1.png
用SGE进行图片编辑ODS Graphics Designer:直接用拖拽方式绘制统计图形,而且可以看底层的GTL代码,加以修改,重复利用,欧耶!对于不熟悉GTL 的人来说,这绝对是个利器。
http://www.36dsj.com/wp-content/uploads/2016/01/478_1.pnghttp://www.36dsj.com/wp-content/uploads/2016/01/479_1.pngvia:StatsThinking
页: [1]
查看完整版本: SAS绘图是不真的又难又丑啊?