第五节[SAS文件操作].doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 SAS文件操作 第一节 建立永久数据集 每次启动SAS系统后,SAS都要在硬盘上开辟一个临时存储区,称为WORK。可利用DATA步将数据读入SAS系统存在悔时存储区中建起临时数据集。SAS自动在给定的数据集名前加上WORK.来命名。一旦退出SAS系统,临时集就被删除。 为了使建立的数据集能永久保存,就需要指定数据集存储的地方,给出路径,比如磁盘标号及子目录名。这要由两个语句来实现: 5.1.1 LIBNAME语句 在SAS数据集名称中不能使用真实的路径,必须用LIBNAME语句给路径名起个别名(称为库逻辑名)。如想把数据集存在B盘上,则可用: LIBNAME LB ‘B:’; 即给B盘起一库逻辑名LB(库逻辑名是由使用者任意起的)。也就是说LB代替了B:。注意路径要用引号括起。 语句格式为: LIBNAME 库逻辑名‘路径’; 库逻辑名和路径的联系一直在起作用,直至用另一个LIBNAME语句改变这种联系或是会话结束。一旦在一个LIBNAME语句中确定了路径,就可以读取或建立一个永久的SAS文件。 5.1.2 DATA语句 为建立起永久数据集,必须在DATA语句中利用二级名命名数据集,例如: DATA LB.A; 即在B盘上建立起名为A的永久数据集文件。为标识该文件是永久数据集,SAS系统自动在文件名后面加上.SSD后缀。例如: LIBNAME LB ‘B:’; DATA LB.AA; INPUT NAME $ SEX $ AGE H W @@; CARDS; ZHANGSAN M 18 1.78 76.5 LILI F 19 1.65 50 ZAOHUI M 20 1.72 68 ; LIBNAME语句将库逻辑名LB和磁盘名B:联系起来,然后在DATA语句中,LB被用作永久SAS数据集的第一级名。当这个程序执行时,SAS永久数据集AA.SSD被存于B:盘中。 在同一个LIBNAME语句中可定义多个路径。下面的DATA步从一个路径中读取一个永久的SAS数据集SCORE.SSD,并且在另一个路径中建立一个永久数据集STUTEST.SSD。用一个LIBNAME语句定义两个路径: LIBNAME SB B:,SA A:; DATA SB.STUTEST; SET SA.SCORE; KEFP NUM S1-S5; 一旦在磁盘上建立起了SAS永久数据集,今后再要处理这个数据集中的数据时,只要将该数据集磁盘所在的驱动器名及所在的子目录名再一次用LIBNAME语句加以定义就可直接处理数据集中的数据。例如: LIBNAME L B:; PROC PRINT DATA=L.AA; 就可将B盘上的AA.SSD永久集中的内容打印出来。 第二节 数据排序 在整理数据集时经常要对数据进行排序。比如,按成绩将学生成绩数据集中的数据进行排序。排序要调用SORT过程,用BY语句指明按哪一变量值进行排序。 例: 建立学生成绩数据集SCORE: (yp35.sas) DATA SCORE; INPUT CLAS NUM SEX $ S1-S3 @@; TOT=SUM(OF S1-S3); CARDS; 对SCORE集中数据按总成绩TOT值排序: PROC SORT; BY TOT; PROC PRINT; SORT过程所用的语句是: PROC SORT [选择项]; BY [DESCENDING] 变量 ...; 5.2.1 PROC SORT语句 该语句调用SORT过程,SORT过程按BY变量的值对数据集排序。如果要对非当前数据集进行排序,就要在PROC语句中用DATA指出要排序的数据集名。 排序后产生一新数据集,数据集名可在PROC SORT语句中用OUT=指出。若缺省,则排序后的输出数据集覆盖原始数据集。例如: PROC SORT DATA=SCORE OUT=CS1; BY CLAS; 对数据集SCORE按CLAS变量的值进行排序,结果存在CS1集中。 5.2.2 BY 语句 BY语句指出用以排序的变量名,数据集中各观测值是按BY变量值的升序排序的。如果需要按BY变量值降序排列,则在变量名前要用DESCENDING指出。如BY语句中给出多个变量,则先按前一变量值进行分组,在各组中再按后一变量值排序。例如: PROC SORT DATA=SCORE OUT=CS2;

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档