文档库 最新最全的文档下载
当前位置:文档库 › SAS编程PROC步——常用作图

SAS编程PROC步——常用作图

SAS编程PROC步——常用作图
SAS编程PROC步——常用作图

SAS编程PROC步——常用作图

SAS/Graph非常强大,本文主要讲一些常用且功能强大的Graph相关的过程步。

一.proc gplot命令

1. proc gplot的简单例子

proc gplot data=sashelp.shoes;

plot Returns * Sales ;

run;

2. 我们也可以只画出符合条件的数据的图形。

proc gplot data=sashelp.shoes;

where Region in("United States", "EasternEurope");

plot Returns * Sales ;

run;

3. 输出的图像都是默认的黑色的小十字,因此我们不能区分来自不同地区的数据,下面的程序就是为了解决这一问题

proc gplot data=sashelp.shoes;

where Region in("United States", "EasternEurope");

plot Returns * Sales= Region;

run;

这里红色的来自美国,黑色的来自东欧,当然我们也可以自己设定颜色(SAS基本颜色有:black, red, green, blue, cyan, magenta,grey, pink, orange, brown, and yellow)。

4. 设定坐标轴和所有文字和颜色

proc gplot data=sashelp.shoes;

where Region in("United States", "EasternEurope");

plot Returns * Sales= Region/

caxis=blue

ctext=red

grid;

run;

5. 如果要对网格进行更精细地设置,则要用到AUTOHREF和AUTOVREF选项。AUTOHREF 中,LHREF设置水平线的线类型,CHREF设置水平线的线颜色;AUTOVREF中,LVREF设置垂直线的线类型,CVREF设置垂直线的线颜色。

proc gplot data=sashelp.shoes;

where Region in("United States", "EasternEurope");

plot Returns * Sales= Region/

autohref lhref=2

chref=lime

autovref lvref=5

cvref=pink

caxis=blue

ctext=red ;

run;

6. 还可以用VAXIS和HAXIS分别设置纵轴和横轴的刻度。注意:如果某个数据超过了你指定的这个刻度,那么这个数据将不会被输出,因此在用这两个选项时要非常小心。

proc gplot data=sashelp.shoes;

where Region in("United States", "EasternEurope"); plot Returns * Sales= Region/

vaxis=0 to 15000 by 5000

autohref lhref=2

chref=lime

autovref lvref=5

cvref=pink

caxis=blue

ctext=red ;

run;

7. 下面介绍一些有关Graph相关过程的全局(global)设置title1 c=darkblue h=2.5 f=swissb "SAS/Graph "

c=darkred h=3.0 f=swissbi "GPLOT Example";

axis1

label=(c=darkorange h=1.5 f=zapfbi

j=r "Total Returns")

offset=(0.2 in )

order=(0 to 15000 by 5000)

value=(c=darkorange f=swissl );

axis2

label=(c=darkgreen h=1.5 f=zapfbi)

order=(0 to 500000 by 50000)

value=(f=swissl c=darkgreen);

symbol1 c=red h=2 v=# ;

symbol2 c=blue h=3 v=diamond;

proc gplot data=sashelp.shoes;

where Region in("United States","EasternEurope");

plot Returns * Sales=Region /

vaxis=axis1 haxis=axis2

autohref lhref=2 chref=lime

autovref lvref=5 cvref=pink

caxis=blue ctext=red ;

run;

各绘图过程中都指定了丰富的选项来调整图形,读者可以参考有关资料或查系统的帮助。另外,在图形中也可以用TITLE语句和FOOTNOTE语句给图形加标题和脚注。为了在图形的标题、标签中也能使用汉字,老的SAS版本需要比较多的步骤,但是在Windows 下的SAS 8.0以后只要很简单的语句就可以在图形中使用True Type字型的汉字,例如: goptions ftext="宋体";

为了把SAS/GRAPH绘制的图形保存为兼容的图形文件,只要在显示某一页图形输出时,选“File | Export”菜单,在出现的输入文件名的窗口选择适当的文件类型,如BMP、WMF 、JPEG、PS,等等。本讲义中的SAS/GRAPH图形就是从SAS中用“File| Export”输出为WMF 文件调入MS Word的结果。

要打印SAS/GRAPH生成的图形,只要选“File | Print”。这样用Windows的打印驱动程序与SAS/GRAPH的图形驱动配合来打印。另外,SAS/GRAPH模块还提供了许多种打

印机的独立的驱动程序,可以不依赖于Windows的打印驱动,具体请参考有关资料或帮助。

我们还可以设置这些Symbol是否用线连接起来,即INTERPOLATION=(I=)设置连接方式,以及WIDTH=(W=)设置线的宽度。

symbol1 c=red h=2 v=# i=sm50s w=2;

symbol2 c=blue h=3 v=diamond i=splines w=2.5;

二. Proc gchart命令

SAS proc gchart命令可以做九种图,分别是:block(方块图)、hbar(水平条图)、hbar3d(3d水平条图)、vbar(垂直条图)、vbar3d(3d垂直条图)、pie(饼图)、pie3d(3d饼图)、dount(环形图)、star(星形图)。我以绘制直方图为例:(参照《卫生统计学第5版》p27)

首先直方图是针对连续型变量而言的,说离散型变量(discrete variable)和连续性变量(continuous variable)是针对定量变量(quantitative variable)来说的。而定性变量(qualitativevariable)则是分为分类变量(catagorical variable)或名义变量(nominative variable)和有序变量(ordinal variable)或等级变量两种。以绘制直方图为例,所用的gchart命令格式主要如下:

procgchart;

vbar x/type=freq space=0;

run;

tips:space必须标注为0,否则默认的条块间是有间隔的,就成了直条图了。直条图是针对离散型变量等的。

当然也可以用另一个命令语句来做直方图的,如下:

proccapability;

histogram x;

run;

tips:histogram只是proc capability;的一个option,所以proc capability;不能省。

现在说说个别proc gchart;vbar x下的option:

sumvar:用来计算数值型变量的sum和mean。当使用了sumvar时,type必须是sum或mean,默认情况下type=sum。

type:用来指定所做直方图的纵坐标。如果sumvar没有使用的话,可以指定以下任意值:freq(默认),cfreq(cumulativefrequency),percent pct(percentage),cpercent cpct(cumulative percentage);如果使用了sumvar,就只能使用sum(默认)和mean了。

midpoints:用来指定分段的组中值。对于数值型变量,即可以指定具体的值,也指定区间(指定区间的增量increment),或者两者可以合用。如:

n(1,2,3,...,n)

n1 to n2 (by increment)

(1,2,3,...,n) n1 to n2 (by increment) (n (1,2,...,n))

摘自:中国统计网

SAS统计分析教程方法总结

对定量结果进行差异性分析 1.单因素设计一元定量资料差异性分析 1.1.单因素设计一元定量资料t检验与符号秩和检验 T检验前提条件:定量资料满足独立性和正态分布,若不满足则进行单因素设计一元定量资料符号秩和检验。 1.2.配对设计一元定量资料t检验与符号秩和检验 配对设计:整个资料涉及一个试验因素的两个水平,并且在这两个水平作用下获得的相同指标是成对出现的,每一对中的两个数据来自于同一个个体或条件相近的两个个体。 1.3.成组设计一元定量资料t检验 成组设计定义: 设试验因素A有A1,A2个水平,将全部n(n最好是偶数)个受试对象随机地均分成2组,分别接受A1,A2,2种处理。再设每种处理下观测的定量指标数为k,当k=1时,属于一元分析的问题;当k≥2时,属于多元分析的问题。 在成组设计中,因2组受试对象之间未按重要的非处理因素进行两两配对,无法消除个体差异对观测结果的影响,因此,其试验效率低于配对设计。 T检验分析前提条件:

独立性、正态性和方差齐性。 1.4.成组设计一元定量资料Wil coxon秩和检验 不符合参数检验的前提条件,故选用非参数检验法,即秩和检验。1.5.单因素k(k>=3)水平设计定量资料一元方差分析 方差分析是用来研究一个控制变量的不同水平是否对观测变量产生了显著影响。这里,由于仅研究单个因素对观测变量的影响,因此称为单因素方差分析。 方差分析的假定条件为: (1)各处理条件下的样本是随机的。 (2)各处理条件下的样本是相互独立的,否则可能出现无法解析的输出结果。 (3)各处理条件下的样本分别来自正态分布总体,否则使用非参数分析。(4)各处理条件下的样本方差相同,即具有齐效性。 1.6.单因素k(k>=3)水平设计定量资料一元协方差分析 协方差分析(Analysis of Covariance)是将回归分析与方差分析结合起来使用的一种分析方法。在这种分析中,先将定量的影响因素(即难以控制的因素)看作自变量,或称为协变量(Covariate),建立因变量随自变量变化的回归方程,这样就可以利用回归方程把因变量的变化中受不易控制的定量因素的影响扣除掉,从而,能够较合理地比较定性的影响因素处在不同水平下,经过回归分析手段修正以后的因变量的样本均数之间的差别是否有统计学意义,这就是协方差分析解决问题的基本计算原理。

SAS入门教程

第一章SAS系统概况 SAS(Statistic Analysis System)系统是世界领先的信息系统,它由最初的用于统计分析经不断发展和完善而成为大型集成应用软件系统;具有完备的数据存取、管理、分析和显示功能。在数据处理和统计分析领域,SAS系统被誉为国际上的标准软件系统。 SAS系统是一个模块化的集成软件系统。SAS系统提供的二十多个模块(产品)可完成各方面的实际问题,功能非常齐全,用户根据需要可灵活的选择使用。 ●Base SAS Base SAS软件是SAS系统的核心。主要功能是数据管理和数据加工处理,并有报表生成和描述统计的功能。Base SAS软件可以单独使用,也可以同其他软件产品一起组成一个用户化的SAS系统。 ●SAS/AF 这是一个应用开发工具。利用SAS/AF的屏幕设计能力及SCL语言的处理能力可快速开发各种功能强大的应用系统。SAS/AF采用先进的OOP(面向对象编程)的技术,是用户可方便快速的实现各类具有图形用户界面(GUI)的应用系统。 ●SAS/EIS 该软件是SAS系统种采用OOP(面向对象编程)技术的又一个开发工具。该产品也称为行政信息系统或每个人的信息系统。利用该软件可以创建多维数据库(MDDB),并能生成多维报表和图形。 ●SAS/INTRNET ●SAS/ACCESS 该软件是对目前许多流行数据库的接口组成的接口集,它提供的与外部数据库的接口是透明和动态的。 第二章Base SAS软件 第一节SAS编程基础 SAS语言的编程规则与其它过程语言基本相同。 SAS语句 一个SAS语句是有SAS关键词、SAS名字、特殊字符和运算符组成的字符串,并以分号(;)结尾。 注释语句的形式为:/*注释内容*/ 或*注释内容。 二、SAS程序 一序列SAS语句组成一个SAS程序。SAS程序中的语句可分为两类步骤:DA TA步和

sas基础教程(实用版)

在SAS系统中提供了大量的菜单操作,不过它灵活与强大的功能更体现在编程上,本书的实验全部是以程序完成的,所以这里对SAS的菜单操作系统不作介绍,想了解相关内容的读者可以参考其它相关SAS书籍。 在SAS程序中,对数据的分析处理可划分为两大步骤: (1)将数据读入SAS系统建立的SAS数据集,称为数据步(DATA); (2)调用SAS的模块处理和分析数据集中的数据,称为过程步(PROC)。 每一数据步都是以DATA语句开始,以RUN语句结束。而每一过程步则都是以PROC语句开始,以RUN语句结束。当有多个数据步或过程步时,由于后一个DATA或PROC语句可以起到前一步的RUN语句的作用,两步中间的RUN语句也就可以省略。但是最后一个的后面必须有RUN语句,否则不能运行。 SAS还规定,每个语句的后面都要用符号“;”作为这个语句结束的标志。 在编辑SAS程式时,一个语句可以写成多行,多个语句也可以写成一行,可以从一行的开头写起,也可以从一行的任一位置写起。每一行输入完成后,用ENTER键可以使光标移到下一行的开头处,和我们在Windows下进行Word文档编辑相似。 例如:data zhouhm; input name $ sex$ math Chinese; cards; 王家宝男82 98 李育萍女89 106 张春发男86 90 王刚男98 109 刘颍女80 110 彭亮男92 105 ; proc print data = zhouhm; proc means data = zhouhm mean; var math Chinese; run; 绪2.1 data数据步简介

相关文档