sas过程初步

上传人:灯火****19 文档编号:125166465 上传时间:2020-03-15 格式:DOC 页数:25 大小:528.93KB
返回 下载 相关 举报
sas过程初步_第1页
第1页 / 共25页
sas过程初步_第2页
第2页 / 共25页
sas过程初步_第3页
第3页 / 共25页
sas过程初步_第4页
第4页 / 共25页
sas过程初步_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《sas过程初步》由会员分享,可在线阅读,更多相关《sas过程初步(25页珍藏版)》请在金锄头文库上搜索。

1、.SAS过程初步.(转载自SAS园地) SAS过程用法及常用语句 o SAS过程用法 o SAS过程步常用语句 用PRINT过程制作列表报告 o 基本用法 o 使用中文列标题 o 标题及全程语句 o 用BY语句分组处理 o 计算总计和小计 用TABULATE过程作统计量表格 用SORT过程排序 MEANS过程、UNIVARIATE过程、FREQ过程 用CORR过程计算相关系数 用SAS/GRAPH绘图 o 散点图和曲线图 o 直方图和扇形图 o 三维曲面图和等高线图 o 图形的调整与输出 前面讲过,SAS系统用SAS数据步生成和管理数据,用过程步进行分析、报表、绘图。本章介绍SAS过程步的一般

2、用法和常用语句的含义,以及几个简单报表、分析、绘图过程的使用。SAS过程用法及常用语句 SAS过程用法SAS过程步的一般形式为:PROC 过程名 DATA=输入数据集 选项;过程语句 / 选项;过程语句 / 选项;RUN;其中PROC语句的选项是可选的,用来规定过程运行的一些设置,如果有多个选项用空格分开。DATA=输入数据集也是可选的,如果缺省的话使用最近生成的数据集。过程步一般以RUN 语句结束,也可以省略RUN语句而在下一个过程步或数据步的开始处结束,另外还有一种所谓 “交互式过程”可以在遇到RUN语句时不结束过程运行,只有遇到QUIT语句或者下一个过程步、数据步时才结束。过程步在PRO

3、C语句之后、结束之前可以有若干个过程语句。通常情况下,过程语句与数据步中的语句不同,数据步中的语句不能用在过程步中。过程步语句一般以某一个关键字开头,比如VAR、BY、TABLES、WEIGHT等,语句中有一些有关说明,如果有选择项的话要写在斜杠后。SAS过程步有些是对数据集作某种变换(比如SORT过程对数据集排序),不生成显示结果;多数过程步是对数据集作某些分析、报表,这时结果出现在OUTPUT窗口(高精度绘图过程的输出在GRAPHICS窗口)。对OUTPUT窗口的结果,我们可以用“File | Save As”菜单把它保存到一个文本文件进行进一步的修饰,插入到其它报告中,也可以用“File

4、 | Print ”菜单之间打印。SAS过程步常用语句本小节简单介绍几个在SAS过程步中常见的语句,更具体的用法可以在以后实际用到时再仔细体会。一、VAR语句VAR语句在很多过程中用来指定分析变量。在VAR后面给出变量列表:VAR 变量名1 变量名2 变量名n;变量名列表可以使用省略的形式,如X1-X3,MATH-CHINESE等。VAR用法例如: var math chinese;二、MODEL语句MODEL语句在一些统计建模过程中用来指定模型的形式。其一般形式为 MODEL 因变量 自变量表 / 选项;比如 model math=chinese;即用语文成绩预测数学成绩。 三、BY语句和C

5、LASS语句BY语句在过程中一般用来指定一个或几个分组变量,根据这些分组变量值把观测分组,然后对每一组观测分别进行本过程指定的分析。在使用带有BY语句的过程步之前一般先用SORT过程对数据集排序。比如,假设我们已经把C9501数据集按性别排序,则下列PRINT 过程可以把男、女生分别列出:proc print data=c9501; by sex;run;结果为 The SAS System 2- SEX=男 - OBS NAME MATH CHINESE 1 李明 92 98 2 王思明 86 90 3 张聪 98 109- SEX=女 - OBS NAME MATH CHINESE 4 张

6、红艺 89 106 5 刘颍 80 110在一些过程(如方差分析)中,使用CLASS语句指定一个或几个分类变量,它实际相当于因变量。而在另一些过程(如MEANS)中,CLASS语句作用与BY语句类似,可以指定分类变量,把观测按分类变量分类后分别进行分析。使用CLASS时不需要先按分类变量排序。四、OUTPUT语句在过程步中经常用OUTPUT语句指定输出结果存放的数据集。不同过程中把输出结果存入数据集的方法各有不同,OUTPUT语句是用得最多的一种,其一般格式为:OUTPUT OUT输出数据集名 关键字变量名 关键字变量名 ;其中用OUT给出了要生成的结果数据集的名字,用“关键字变量名”的方式指

7、定了输出哪些结果(关键字的例子比如MEANS过程中的MEAN,VAR,STD等等),等号后面的变量名指定了这些结果在输出数据集中叫什么名字。例如proc means data=sasuser.c9501; var math; output out=result n=n mean=meanmath var=varmath;run;proc print data=result; run;五、FREQ语句和WEIGHT语句FREQ语句指定一个重复数变量,每个观测中此变量的值说明这个观测实际代表多少个完全相同的重复观测。FREQ变量只取整数值。如freq numcell;WEIGHT语句指定一个权重变

8、量,在某些允许加权的过程中代表权重,其值与观测对应的方差的倒数成比例。六、ID语句有些过程(如PRINT、UNIVARIATE)需要输出观测的代号,这一般使用观测的序号。但是,如果数据集中有一个变量可以用来区分观测(如人名、省市名),就可以用ID语句指定这个变量作为观测标识,如:id name;指定用变量NAME的值来标识观测。 七、WHERE语句用WHERE语句可以选择输入数据集的一个行子集来进行分析,在WHERE关键字后指定一个条件。比如:where math=60 and chinese=60;指定只分析数学、语文成绩都及格的学生。 八、LABEL语句和FORMAT语句LABEL语句为变

9、量指定一个标签,很多过程可以使用这样的标签。其格式为 LABEL 变量名标签 变量名标签 ;例如 proc print data=sasuser.c9501 label; id name; var math chinese; label name=姓名 math=数学成绩 chinese=语文成绩;run;结果显示 姓名 数学成绩 语文成绩 李明 92 98 张红艺 89 106 王思明 86 90 张聪 98 109 刘颍 80 110FORMAT语句可以为变量输出规定一个输出格式,比如 proc print data=sasuser.c9501; format math 5.1 chine

10、se 5.1;run;使得列出的数学、语文成绩宽度占5位,带一位小数。 事实上,在生成数据集的DATA步中也可以用FORMAT语句规定变量的输出格式,用LABEL 语句规定变量的标签,用LENGTH语句规定变量的存贮长度,用ATTRIB语句同时规定变量的各属性。在数据步中规定的变量属性是附属于数据集本身的,是永久的;在过程步中规定的变量属性(标签、输出格式等)只用于此过程的本次运行。用PRINT过程制作列表报告本节讲解PRINT过程的使用,并用它来辅助讲解一些常用语句的使用。基本用法 PRINT过程是最常用的SAS过程之一。我们在生成了一个数据集之后,如果不是太大,一般都用一个proc pri

11、nt;run;过程步来列出数据集的内容,这样可以检查变量与值之间对应是否正确,数据输入是否正确。为了列出一个指定的数据集,在PROC语句中使用DATA选项指定要列表的输入数据集名,比如:proc print data=sasuser.gpa; run;在过程内使用VAR语句可以指定要列出的变量并指定顺序。比如,proc print data=c9501; var name chinese sex;run;列出变量NAME、CHINESE、SEX的值。注意这已不是生成时的变量顺序。变量MATH未列出。结果如下 The SAS System 3 OBS NAME CHINESE SEX 1 李明 98 男 2 张红艺 106 女 3 王思明 90 男 4 张聪 109 男 5 刘颍 110 女注意PRINT的输出第一列总是标为OBS,值为观测序号。我们有时不想输出这一列,可以在PROC PRINT语句中加入NOOBS选项,如:proc print data=c9501 noobs;run;结果中就没有了OBS这一列。 在过程中使用WHERE语句可以从输入数据集中选一个子集来处理,在PRINT过程中使用WHERE 可以指定只列出满足条件的观测。比如,proc print data=c9501; where name in (李明, 张聪);run;结果为

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号