- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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;
您可能关注的文档
- java基础与问题分析.doc
- Java简单题副本.doc
- JAVA教程 第四讲 Java的例外处理及I.doc
- 第五节 MapBasic开发环境.ppt
- 第五节 SPSS基本统计分析(二).ppt
- STage_GOM帮助文档课件.pdf
- java教程_第二章 Java开发环境与开发工具.pdf
- StarUML使用说明知识.doc
- Java开发工具IntelliJ IDEA如何设置单元测试及代码覆盖率.pdf
- JAVA课程第四讲 字符串.ppt
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)