SAS数据步文件管理

上传人:油条 文档编号:48418210 上传时间:2018-07-15 格式:PPT 页数:120 大小:1.88MB
返回 下载 相关 举报
SAS数据步文件管理_第1页
第1页 / 共120页
SAS数据步文件管理_第2页
第2页 / 共120页
SAS数据步文件管理_第3页
第3页 / 共120页
SAS数据步文件管理_第4页
第4页 / 共120页
SAS数据步文件管理_第5页
第5页 / 共120页
点击查看更多>>
资源描述

《SAS数据步文件管理》由会员分享,可在线阅读,更多相关《SAS数据步文件管理(120页珍藏版)》请在金锄头文库上搜索。

1、第6章 数据步文件管理清华大学经管学院 朱世武DATA语句 语句格式 DATA ; DATA view-name / VIEW=view-name ); DATA data-set-name / PGM=program-name ); DATA PGM=program-name (); ; DATA VIEW=view-name (); DESCRIBE; 选项说明 这里只给出常用选项的说明,其它选项说明可以从SAS系统帮 助中查找。 例6.1 规定要创建的SAS数据集。 data; /*系统自动规定数据集名datan * / data a; /*创建临时数据集a */data ResDat

2、.a; /*创建永久数据集resdat.a */ data data1 data2; /*创建两个临时数据集data1和data2 */ data _null_; /*特殊名,不创建SAS数据集,用于输出 */ Run;例6.2 数据集选项举例。 data new (drop=var1); /*去掉数据集new中变量var1*/ data new (keep=_numeric_); /*保留数据集new中所有数值变 量*/ data new (label=股本变动历史); /*规定数据集new标签名为”股 本变动历史”*/ data new (rename=(var1=u var2=v); /

3、*将数据集new中变量var1和 var2更名为u和v*/ data book(index=(author subject); /*数据集book对变量author subject建立索引*/ 特殊数据集名 _data_ (省略数据集名)data _data_; /*等价于语句data;*/系统自动为数据集赋名:data1, data2, datan._null_一般和PUT语句一起用。由PUT输出结果,只输出到LOG窗口, 不会产生SAS数据集。例6.6 不产生数据集。 data _null_; x=exp(5); y=log(10); put x= y=; run;80 data _nul

4、l_; 81 x=exp(5); 82 y=log(10); 83 put x= y=; 84 run;x=148.4131591 y=2.302585093 NOTE: “DATA 语句”所用时间(总处理时间):实际时间 0.03 秒CPU 时间 0.00 秒_last_last_是SAS系统的一个自动变量,取值为最新创建的SAS数据集 名。例6.7 查看最新创建的SAS数据集。 data a; set _last_; run;一个DATA语句下多个数据集名 例6.8 观测子集的形成。 data year1998 year1999 year2000; set ResDat.stk000001

5、 ; if year (date)=1998 then output year1998; /* year为函数名*/ else if year (date)=1999 then output year1999; else if year (date)=2000 then output year2000; run; 例中,根据条件产生三个观测子集,名字分别为YEAR1998, YEAR1999和YEAR2000. 85 data year1998 year1999 year2000; 86 set ResDat.stk000001 ; 87 if year (date)=1998 then ou

6、tput year1998; /* year为函数名*/ 88 else if year (date)=1999 then output year1999; 89 else if year (date)=2000 then output year2000; 90 run;NOTE: 从数据集 RESDAT.STK000001 读取了 3836 个观测。 NOTE: 数据集 WORK.YEAR1998 有 245 个观测和 62 个变量。 NOTE: 数据集 WORK.YEAR1999 有 237 个观测和 62 个变量。 NOTE: 数据集 WORK.YEAR2000 有 238 个观测和 6

7、2 个变量。 NOTE: “DATA 语句”所用时间(总处理时间):实际时间 0.06 秒CPU 时间 0.04 秒CARDS与CARDS4语句 CARDS语句或DATALINES语句告诉SAS系统下面跟着的是数 据行。 数据行之前用CARDS语句或DATALINES语句。语句格式: CARDS;或DATALINES;数据行 例6.10 数据行之前用CARDS语句。 data; input var1 var2 var3 $; cards; 16 20 First ;数据行中含有分号时,必须用CARDS 4或DATALINES4语句。 语句格式: Cards 4; 或DATALINES4; 数据

8、行 ;例6.11 数据行中含有分号时用CARDS4语句。 data; input var1$ var2$ var3 $; cards4; A ; B ( ; ) ;PUT语句 PUT语句输出信息到:SAS系统的LOG窗口;SAS系统的OUTPUT窗口;FILE语句规定的外部文件。简单方式: PUT ;PUT ; 列方式: PUT start-column ; 格式化方式: PUT start-column ; PUT variable format.; PUT (variable-list) (format-list) ;列表方式: PUT variable ; PUT character-s

9、tring ; PUT variable format. ; 命名方式: PUT variable= ; PUT variable= start-column ;语句格式 例6.12 用PUT语句产生的输出结果及其比较。 data _null_; put 132 * _; /*在log窗口输出132个下划线“_“*/ put 100*1; /* 在log窗口输出100个1*/ run; data _null_ ; input x y z; put _infile_ ; /*输出最新的数据行到SAS Log窗口*/ cards; 1 -5 9 0 3 7 10 2 8 ; run;LOG窗口输出

10、结果:1 -5 90 3 710 2 8 例6.14 其它控制输出格式举例。 data _null_; set ResDat.class; by sex; file print;*向结果窗口输出; put name 1-8 12 sex; if last.sex then put / This is the last of sex $ _page_; run;Alice F Barbara F Carol F Jane F Janet F Joyce F Judy F Louise F Mary FThis is the last of FAlfred M Henry M James M Je

11、ffrey M John M Philip M Robert M Ronald M Thomas M William MThis is the last of M第一页第二页输出窗口显示:data; put Example of overprint overprint -; run;LOG窗口输出结果: Example of overprint -列方式输出 语句格式: PUT start-column ;例6.15 控制输出的列位置。 data a; a=100; b=300; put a 10-16 .2 b 20-26 .3; run;LOG窗口输出结果: 100.00 300.000

12、列表方式输出 语句格式: PUT variable ; PUT character-string ; PUT variable format. ;修饰符说明:v n*规定后面格式重复n次;v : 规定后面格式输出变量值时去掉前后的空格; 例6.16 应用举例。 data a; x1=134569.236; x2=18969.06; x3=3592.191; put (_all_) (3*comma10.2); run;LOG窗口输出结果: 134,569.24 18,969.06 3,592.19格式化输出 语句格式: PUT start-column ; PUT variable forma

13、t.; PUT (variable-list) (format-list) ;例6.17 应用举例。 data a; input name /*变量name有空格*/ put name 20 (bldg room) ($1.“-“, 3.); /*从第20列开始输 出第二、三个变量*/ cards; GU BEIJING J 125 ROBERT US C 233 ; run;LOG窗口输出结果:53 data a; 54 input name /*变量name有空格*/ 55 put name 20 (bldg room) ($1.“-“, 3.); /*从第20列开始输出第二、 三个变量*

14、/ 56 cards;GU BEIJING J-125 ROBERT US C-233 NOTE: 数据集 WORK.A 有 2 个观测和 3 个变量。 NOTE: “DATA 语句”所用时间(总处理时间):实际时间 0.01 秒CPU 时间 0.00 秒59 ; 60 run;上面程序也可以写成: data a; input name a=-; put name 20 bldg $ a $ room; cards; GU BEIJING J 125 ROBERT US C 233 ; run;但第一种方法的效果好。LOG窗口输出结果: 61 data a; 62 input name 63 a=-; 64 put name 20 bldg $ a $ room; 65 cards;GU BEIJING J - 125 ROBERT US C - 233 NOTE: 数据集 WORK.A 有 2 个观测和 4 个变 量。 NOTE: “DATA 语句”所用时间(总处理时间):实际时间 0.03 秒CPU 时间 0.00 秒68 ; 69 run;BY语句 数据步中,BY语句规定分组变量。用于控制 SET,MERGE,UPDATE或MODIFY语句的操作。语句格式 By Variable-1Variable-N ;选项说明 BY语句概念 FIRS

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

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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