- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章[建立数据集]
第三章 建立数据集
第一节 DATA语句
语句格式:
DATA [数据集名] [选择项];
DATA语句的作用是表明数据步的开始,并给出所建数据集的名称。数据集名必须以英文字母开始,最长不超过8个字符。
所有的数据集名都是由句号分隔的两部分组成。第1部分称作1级名(或库逻辑名),它标识数据集所存储的位置;第2部分(2级名)标识特定的数据集。如果不想把数据集永久存于磁盘上,可仅使用第二部分数据集名。比如建立一个名为FITNESS的数据集,使用DATA FITNESS;SAS系统把FITNESS作为数据集名的第二部分,并自动以WORK作为第一部分,因此在LOG窗口显示的信息中称该数据集为WORK.FITNESS。
若第一级名是WORK,数据集就是临时的,它仅在当前会话期间有效。
如果仅仅想在DATA步中执行一些语句而不想建立一个SAS数据集,我们可在DATA步中使用特殊的SAS数据集名_NULL_。例如:
DATA _NULL_;
A=SIN(3.1415/4);
B=INT(A*100);
PUT A B;
RUN;
运行后在LOG窗口打出A与B的值,而不建立数据集。
在DATA语句中可以为建立数据集提供更多的信息(数据集选择项)。在DATA语句中,如果不给出数据集名,则SAS自动以DATA1,DATA2等依次命名所建立的数据集。
在SAS系统中可同时存在多个数据集,各数据集以名称标识。处理某一数据集中的数据时,应指出该数据集的名称,如果不指出名称则处理最后建立的数据集(又称当前数据集)。
DATA D1;
INPUT A B;
CARDS;
3 5
7 9
;
RUN;
DATA D2;
INPUT C D;
CARDS;
13 15
17 19
21 23
;
RUN;
这时建立起两个数据集D1和D2,由于D2是最后建立的,故它为当前集。若调用PRINT过程打印数据集D1中的内容时,必须用PROC语句的选择项DATA=指出数据集名,否则打印的是D2中的内容。
PROC PRINT DATA=D1;
RUN;
数据集中各个观测值用一特殊变量OBS来标识。
PROC PRINT;
RUN;
第二节 INPUT 语句
INPUT语句用来描述在输入记录中的数据,并把输入值赋给相应的变量。用INPUT语句是为了读一个外部文件的数据,或是跟在CARDS语句后的数据。如果数据已经在数据集中,应使用SET、MERGE或UPDATE来代替。
INPUT语句的一般格式:
INPUT [specification]
有三种方法对INPUT语句中记录的值进行描述:
·列
·列表或自由格式
·格式化
除非在INPUT语句中的变量名后跟一$符号,或用字符的输入格式表示,或该变量已被事先定义成字符型,否则SAS系统认定用INPUT语句读入的值是数值型的。如果说明的数据类型和数据不相符,则SAS系统按无效数据处理,将该变量的值置为缺项值。
3.2.1 列表输入
在前面所见的例子中,所用的INPUT语句都是用列表输入法读入数据的。用列表输入时,变量简单地列在INPUT语句中,例如:
INPUT NAME $ AGE;
列表输入是最简单的数据输入方法,它只要把要被赋值的变量列在INPUT语句中,不必了解在输入记录中数据占有哪些列。
使用列表输入时,数据都是由一个或多个空格或是由一个输入记录的结束来定界的。除非明确地规定字符型数据的长度。否则其缺省值是8个字节。如果要读入较长的数值,就要使用格式化输入,即指定一输入格式,或是用列输入或是在LENGTH,ATTRIB,INFORMAT语句中定义变量的长度。
注意:
(1)在INPUT语句中列出的变量的顺序与输入数据中它们相应的值的顺序必须一致。
(2)不能用简单的列表输入有选择地读入数据。譬如,输入行含有变量A,B,C,D,E的每个值,但你仅想用A,B,D的值。用简单的列表输入就不能跳过C,但可仅读A,B,C,D的值,而省去E,
文档评论(0)