11全局通用语句_第1页
11全局通用语句_第2页
11全局通用语句_第3页
11全局通用语句_第4页
11全局通用语句_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第11章章 全局通用语句全局通用语句 清华大学经管学院清华大学经管学院 朱世武朱世武 Z Resdat样本数据:样本数据: SAS论坛:论坛: v 全局通用语句是可以用在任何地方的SAS语 句。这些语句既可以用在数据步(DATA步), 也可以用在过程步(PROC步),甚至还可以单独 使用。 注释语句注释语句 v 注释语句可以放在SAS程序的任何地方作为程序的 说明,或者介绍整个程序的步骤或算法等。 语句格式 格式一: * message; 信息的长度可任意,但不能包含分号(;),最后的分号表示 信息结束。 格式二: /*message*/ 中间的信息可以包含分号,但这种形式的注释不能嵌套。

2、应用举例应用举例 例11.1 注释语句应用。 proc print data=ResDat.stk000002 (obs=10) noobs; /*输出前10个观测,不输出观测序号*/ var oppr hipr lopr clpr; title股票行情; run; proc means data=ResDat.stk000002 ; *对数据集ResDat.stk000002使用means过程; var oppr hipr lopr clpr; /*输出变量oppr hipr lopr clpr的均值*/ run; 例11.2 标准SAS程序开头,记录SAS程序信息的注释形式。 /*-*/

3、/*- Begin Estimation for Grunfelds Investment Models -*/ /*- See SAS/ETS Users Guide, Version 5 Edition, -*/ /*- pages -*/ /*-*/ X语句语句 运行SAS系统时,发布主机操作系统命令。 语句格式: X ; 其中: command规定主机操作系统的命令。 例11.8 应用举例。 x mkdir d:ResDat1; libname ResDat1 d:ResDat1; data ResDat1.class; set ResDat.class; run; 例中,在SAS会话

4、期间用主机操作系统命令创建一个目录D:ResDat_3. 注意:键入EXIT命令退出操作系统返回到SAS会话。 TITLE语句语句 TITLE语句规定SAS输出文件和其它SAS输出标题。 每一个TITLE语规定一级标题,最多可规定10级标题。 语句格式: TITLE; 其中: n紧跟在词TIILE后面(不能有空格)的数字,用来规定标题的级别; text规定标题的内容。 规定标题的内容一直有效,但可以重新规定或取消。 例11.9 只规定第1和第5级标题的内容时,中间标题为空白。 title this is the 1th title line; title5 this is the 5th ti

5、tle line; 例11.10 取消所有标题内容。 title; 例11.11 取消第3级及以后的所有标题内容。 title3; FOOTNOTE语句语句 FOOTNOTE语句在每一页的底部输出一些脚注行。最多可 产生10个脚注行。 语句格式: FOOTNOTE; 其中: n紧跟在词FOOTNOTE后面(不能有空格)的数字,用来规定脚注 的行号; text规定脚注行的内容。 规定的脚注行内容将输出在所有过程的输出页上,但可以重新规定 或取消。 例11.12 规定脚注。 footnote 清华大学金融系; 例11.13 取消所有已规定的脚注行。 footnote; 例11.14 取消第3个及以

6、后的所有脚注行。 footnote3; RUN语句语句 RUN语句使SAS程序被执行。 语句格式: RUN ; 其中: CANCEL让SAS系统结束当前步的执行。SAS将输 出一个信息说明这一步没有执行。但CANECL选 项不能阻止包含CARDS或CARDS4语句的DATA步 执行。 例11.15 不能省略RUN语句的情况。 title using proc means; proc means data=ResDat.class min max; var age height weight; run; /*此RUN语不能省略省略RUN语句 */ title using proc plot; p

7、roc plot data=ResDat.class; plot age*height; run; 例中,第一个RUN语句在读第二个TITLE语之前执行PROC MEANS 步。如果省略第一个RUN语,SAS系统在它读PROC PLOT语句之后 执行PROC MEANS步。这时第二个TITLE语覆盖第一个TITLE语,也 就是两个过程的输出都包含了标题USING PROC PLOT。所以,这 种情况下,第一个RUN语不能省略。 using proc plot 17 MEANS 过程 变量 最小值 最大值 - Age 11.0000000 16.0000000 Height 51.3000000

8、 72.0000000 Weight 50.5000000 150.0000000 - using proc means 16 MEANS 过程 变量 最小值 最大值 - Age 11.0000000 16.0000000 Height 51.3000000 72.0000000 Weight 50.5000000 150.0000000 - 不省略run省略run 例11.16 使用选项CANCEL。 proc means data=ResDat.idx000001; var clpr X; /*注意数据集中没有变量X */ run cancel; 例中,当发现SAS程序有错误不能运行这一段

9、序时,使用选 项CANCEL结束当前步的执行。 LIBNAME语句语句 v LIBNAME语句定义SAS逻辑库。 v LIBNAME语句把一个libref(库标记名)和一个目录名联系起 来,使用户可在SAS语句中使用库标记来指示这个目录。 语句格式 LIBNAME libref ; LIBNAME libref Clear; LIBNAME libref |_ All_ List; 三种格式反映了LIBNAME语句的三种用法。 选项说明 Libref规定逻辑库 Engine规定引擎 Sas-Data-Library规定主机系统下一个有效的物理地址 Access=Readonly|Temp规定逻

10、辑库为只读或可修改属性 Clear清除与库标记的联系 _All_列出所有逻辑库的属性 List在Log窗口列出逻辑库的属性。 应用举例应用举例 例11.18 LIBNAME规定不同引擎的逻辑库。 libname SASDB1 tape SAS- data-library; /*规定一个TAPE引擎*/ libname SASDB2 V6 SAS- data-library; /*规定版本为V6引擎*/ libname SASDB3 ODBC SAS- data-library; /*规定版本为ODBC引擎*/ 例11.19 不同引擎的逻辑库数据集的转换。 libname ResDatv6 v6

11、 D:ResDat; data ResDatv6.class; set ResDat.class; run; 例11.20 对已经存在的逻辑库使用LIBNAME语句联系一个SAS引擎。 libname SASDB3 ODBC; 例11.21 一个物理地址联系两个库标记。 libname ResDat1 D:ResDat; libname ResDat2 D:ResDat; run; 例11.23 脱离与库标记的联系。 LIBNAME libref CLEAR; 例11.24 列出逻辑库的属性。 libname ResDat list; /*列出逻辑库ResDat的属性 */ libname _

12、all_ list; /*列出所有逻辑库的属性 */ run; 例11.25 多个物理地址指定一个逻辑库。 libname new (d: resdat d:resstk); 例11.26 多个不同的逻辑库组成一个逻辑库。 libname new (resdat resstk); FILENAME语句语句 v FILENAME语句把SAS的文件标记与外部文件的全名或输 出设备联系起来。 v 用INFILE,FILE,或%INCLUDE语句中调用SAS文件前, 要先使用FILENAME语句来定义文件。 v 用户可以把一个文件标记同单个外部文件建立联系,也可 以很多外部文件建立联系。 v 文件标记

13、和文件名字之间的联系只保持在SAS会话期间, 或下一个FILENAME语句再定义前。 语句格式语句格式 建立文件标记与外部文件的联系: FILENAME fileref external-file; 清除文件标记与外部文件的联系: FILENAME fileref|_ALL_CLEAR; 建立文件标记与某个输出设备的联系: FILENAME fileref device-type; 列出外部文件的属性: FILENAME fileref|_ALL_LIST; 其它格式: FILENAME fileref CATALOG catalog; FILENAME fileref FTPexternal

14、-file; FILENAME fileref SOCKET external- file; FILENAME fileref SOCKET: portno SERVER ; 选项说明选项说明 部分选项说明: 设备类型(DEVICE-TYPE) Fileref规定任意有效的SAS名 External-File规定外部文件的物理地址和名字 Device-Type规定要联系输出设备的类型 Host-Option规定主机系统的属性 Disk磁盘引擎器 Tape磁带引擎器 Dummy空设备 Terminal 终端 Printer打印机 Plotter绘图仪 应用举例应用举例 例例11.2911.29

15、读入外部文件创建SAS数据集。 filename delinfo d:resdatdelinfo.txt; data delinfo(label=退市信息|delist information); format stkcd $6. lstknm $12. lstdt yymmdd10. delistdt yymmdd10. exchflg $1. stktype $1. ; informat stkcd $6. lstknm $12. lstdt yymmdd10. delistdt yymmdd10. exchflg $1. stktype $1. ; label stkcd=股票代码|st

16、ock code lstknm=最新股票名称|latest stock name lstdt=股票上市日|list date delistdt=退市日期|delist date exchflg=交易所标识|exchange flag stktype=股票类型|stock type; infile delinfo delimiter=09x missover dsd firstobs=2; input stkcd $6. lstknm $12. lstdt yymmdd10. delistdt yymmdd10. exchflg stktype 1. ; run; 例中,用文件标记delinfo

17、识别外部文件(d:resdatdelinfo.txt),读取其中 的数据行,创建一个临时数据集delinfo. 例11.34 将逻辑库的所有文件传送到一个压缩文件。 filename ResDat d:ResDatResDat; proc cport library=ResDat file=ResDat memtype=data; run; 例中,将SAS逻辑库ResDat下的所有数据集传送到压缩文件 ResDat中。 例11.35 恢复将传送压缩为一个逻辑库。 libname ResDat_0 d:ResDat_0; proc cimport library=ResDat_0 infile=

18、ResDat; run; 例中,恢复由CPORT过程生成的传送压缩文件ResDat为原来的 形式。 MISSING语句语句 MISSING语句规定数值数据缺失值的代表字符。它通常出 现在DATA步,但其使用范围是全局性的。 语句格式语句格式 MISSING character-1, 其中: character缺失值代表字符。 应用举例应用举例 例11.42 读入有缺失值数据时必须用MISSING语句。 data fitness; missing n r; input name$ age weight; cards; Wang 23 78 Hu R 60 Tian R N ; 例中,N表示被调查人不知道,R表示被调查人拒绝回答问题。 MISSING语句指示在输入数据行里N和R的值是缺失值而不是无效的数 据值。 nameageweight Wang2378 Hu R60 Ti

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论