SAS第四课:如何用SAS做统计图
2012-04-17 生物谷 生物谷
统计图是统计描述的重要工具,它可以直观的反映出事物间的数量关系。因此,许多统计软件均提供了强大的统计做图功能。SAS的许多程序步,如Univariate过程等,也附有相应的绘图功能,这些我们拟在相关章节中讲述。本章将向大家介绍两个专门用于绘图的程序步――GCHART过程和GPLOT过程。前者用于绘制各种常用的统计图,而后者则用于绘制散点图。 在早期的DOS版本中,SAS只提供低分辨率图形(即用键
统计图是统计描述的重要工具,它可以直观的反映出事物间的数量关系。因此,许多统计软件均提供了强大的统计做图功能。SAS的许多程序步,如Univariate过程等,也附有相应的绘图功能,这些我们拟在相关章节中讲述。本章将向大家介绍两个专门用于绘图的程序步――GCHART过程和GPLOT过程。前者用于绘制各种常用的统计图,而后者则用于绘制散点图。
在早期的DOS版本中,SAS只提供低分辨率图形(即用键盘字符模拟输出的图形)。而在WINDOWS时代,美观漂亮也成为了软件最重要的性能指标之一,因此SAS公司推出了高分辨率图形。虽然比起EXCEL等软件来,它的高分辨率图形仍然不那么令人满意,但至少已经跟上了时代的潮流。 高分辨率图形在专门的GRAPH视窗中输出,而低分辨率图形在OUTPUT视窗中一同输出。只要将绘图过程名中的字母G去掉,做出的就是低分辨率图形,你可以比较一下两种图形的“天壤之别”。§
4.1 GCHART过程Gchart过程可以绘制水平/竖直条图(直方图)、立体直方图、饼图和星状图。我们可以用这些图来了解单个变量的分布或者多个变量之间的关系。
4.1.1
语法格式
PROC GCHART [ DATA=<数据集名> [选项] ] ; |
指定要分析的数据集名及一些选项 |
HBAR <变量名列> / [选项] ; |
绘出条形图 |
VBAR <变量名列> / [选项]; |
绘出水平条形图 |
BLOCK <变量名列> / [选项]; |
绘出三维直方图 |
PIE <变量名列> / [选项]; |
绘出饼图 |
STAR <变量名列> / [选项]; |
绘出星状图 |
AXISn [选项]; |
控制坐标轴的形状和颜色 |
BY <变量名列>; |
按该变量取值分层绘制,要求数据集已按该变量排序 |
4.1.2
语法说明事实上,绘图程序步中的选项极为繁杂,如果合理地使用这些选项可以做出非常漂亮的统计图来。但这些选项也给大家的学习带来很大的不便,因此在这里我们只简要介绍几个常用的绘图语句中的选项。
【绘图语句选项】
4.1.3
应用实例例
4.1 绘制《卫生统计学》第三版习题1.1的直方图,数据存在c:\user\wt1_1.dat中。解:程序如下:
libname a 'c:\user'; |
指定c:\user文件夹为数据库a |
data a.wt1_1; |
数据步开始,指定要建立的数据集为a库的wt1_1 |
infile 'c:\user\wt1_1.dat'; |
采用外部文件读入方式,文件名为c:\user\WT1_1.dat |
input x @@; |
输入的变量为x,采用连续输入的格式 |
proc gchart data=a.wt1_1; |
调用绘图程序步gchart |
vbar x / levels=10; |
绘出直方图,用于绘图的变量为x,分为10组 |
run; |
开始运行以上程序 |
§
4.2 GPLOT过程GPLOT
过程用于绘出散点图。图中的横、纵坐标分别代表两个变量。4.2.1
语法格式
PROC GPLOT [ DATA=<数据集名> [选项] ] ; |
|
PLOT <纵坐标变量*横坐标变量[=分层变量名]...> / [选项]; |
指定绘图变量和选项 |
PLOT2 <纵坐标变量*横坐标变量[=分层变量名]...> / [选项]; |
在原图基础上重叠绘制第二幅散点图 |
SYMBOLn [选项] |
定义符号、添加趋势线、定义点和线的颜色 |
BY <变量名列>; |
按该变量取值分层绘制,要求数据集已按该变量排序 |
4.2.2
语法说明【
GPLOT过程的选项】- UNIFORM 要求用BY语句分组打印的散点图的坐标刻度相同,便于比较。
- VTOH= 数值 指定纵横坐标的比例。
【PLOT语句说明】
- 分层变量
表示所做的散点图按指定变量的取值分层,默认按不同颜色来区分。
- 语句选项
【
SYMBOL语句选项】②
SPLINE 用光滑的曲线连接。- NEEDLE 向横坐标画垂线。
- RL 添加回归直线。
- WIDTH= 宽度 定义数据点和连线的宽度。
- COLOR= 颜色 定义数据点和连线的颜色。
4.2.3
应用实例例
4.2 10名20岁男青年身高(cm)与前臂长(cm)如下,请绘出散点图(卫统p236 5.2题)。身 高 |
170 |
173 |
160 |
155 |
173 |
168 |
178 |
183 |
180 |
165 |
前臂长 |
45 |
42 |
44 |
41 |
47 |
50 |
47 |
46 |
49 |
43 |
解:程序如下(注意程序中对输出图形作了些修饰)。
Libname a ’c:\user’; |
指定c:\user文件夹为数据库a |
data a.wt5_2; |
数据步开始,指定要建立的数据集为a库的wt5_2 |
input x y @@; |
输入的变量为x和y,采用连续输入的格式 |
cards; |
数据块开始 |
170 45 173 42 160 44 155 41 173 41 |
数据块 |
188 50 178 47 183 46 180 49 165 43 |
数据块 |
; |
数据块结束 |
proc gplot data=a.wt5_2; |
调用绘图程序步gplot |
plot y*x/ ctext=blue; |
绘出散点图,用于绘图的变量为x,y,坐标轴文本颜色为蓝色 |
symbol value=star color=pink width=2; |
定义散点标记为粉红色星号,大小为2 |
run; |
开始运行以上程序 |
适当地使用统计图可以帮助我们更加深入的了解数据的分布规律。这里的例子只是绘图语句的简单用法,而绘图语句的复杂用法将结合例题在以后的各章中逐步介绍。
(原著:张文彤)
本网站所有内容来源注明为“梅斯医学”或“MedSci原创”的文字、图片和音视频资料,版权均属于梅斯医学所有。非经授权,任何媒体、网站或个人不得转载,授权转载时须注明来源为“梅斯医学”。其它来源的文章系转载文章,或“梅斯号”自媒体发布的文章,仅系出于传递更多信息之目的,本站仅负责审核内容合规,其内容不代表本站立场,本站不负责内容的准确性和版权。如果存在侵权、或不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
在此留言
#SAS#
61