数据步读入原始数据.ppt

上传人:牧羊曲112 文档编号:6296704 上传时间:2023-10-14 格式:PPT 页数:27 大小:319.50KB
返回 下载 相关 举报
数据步读入原始数据.ppt_第1页
第1页 / 共27页
数据步读入原始数据.ppt_第2页
第2页 / 共27页
数据步读入原始数据.ppt_第3页
第3页 / 共27页
数据步读入原始数据.ppt_第4页
第4页 / 共27页
数据步读入原始数据.ppt_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《数据步读入原始数据.ppt》由会员分享,可在线阅读,更多相关《数据步读入原始数据.ppt(27页珍藏版)》请在三一办公上搜索。

1、第5章 数据步读入原始数据,清华大学经管学院 朱世武Resdat样本数据:SAS论坛:,原始数据分类,原始数据一般分为字符和数值两种类型,数值数据又分为标准数值数据和非标准数值数据。,标准数据是由字符或者数值组成的可以被列表、列、格式化、命名输入方式读入的数据如ARKANSAS,1166.42。非标准数据只能在输入格式的帮助下读入的数据。如非标准的数值数据,可能包含逗号,空格等符号。日期和时间数值。十六进制和二进制数值。标准数值数据只包含数字,小数点或负号。非标准数值数据则包含其它的特殊字符,如千分号,美元符号等。,读取数值数据的规则数值前面的括号或者减号符号表示该数值为负。首位有一个或者多个

2、零不影响对相应变量的赋值。SAS不把数值尾部的空格默认为0。数值数据的前后都可以有空格,但是数字中间不能有(除非用COMMA.或BZ.格式读入)。,字符数据,字符数据是由一系列字符组成的数据。下面任一种情况下,INPUT语句认定读入变量的值是字符值。INPUT语句中变量名后跟一个美元符号$;使用字符输入格式;要读入数据的变量已经被定义为字符值。,原始数据呈现形式,原始数据的呈现形式一般分为呈现在SAS编辑窗口的数据行,和储存在外部文件中的原始数据,例5.1 编辑窗口下,数据行形式的原始数据。,例5.2 储存在外部文件中的原始数据,TXT文本格式。,使用INPUT语句读入原始数据,INPUT语句

3、的用途有两方面:读入外部数据文件中的数据;读入CARDS语句后面的数据。,INPUT语句的五种输入方式,简单方式:INPUT;列方式:INPUT variable start-column;格式化方式:INPUT variable informat.;INPUT(variable-list)(informat-list);INPUT(variable-list)(informat.);,列表方式:INPUT variable;INPUT variable;命名方式:INPUT variable=;INPUT variable=start-column;INPUT variable=inform

4、at.;,选项说明,列方式输入,语句格式INPUT variable start-column;设定变量名称,为可选项,如果选择$则表示这是一个字符变量。而start-column 表示该变量在记录行中的起始列(终止列)。,例5.3 使用列方式输入数据。data scores;infile datalines truncover;input name$1-10 sex$11 age 12-15;datalines;Justine F 12Bob M 13;-+-1-+-2-+-3-+-例中,规定记录行的第1到10列为变量NAME的输入值,11列为变量SEX的输入值,12到15列为变量AGE的输

5、入值。NAME和SEX为字符型变量。,列方式输入使用条件原始数据输入值的位置在每个记录行相同的列中;原始数据输入值是标准的数值格式或一般字符格式。列方式输入的特点原始数据输入值可以按任意顺序读取;字符型原始数据中间可以有空格;可以重复读取原始数据记录行的某一部分。读入的数据值不需要用空格或者其它分隔符隔开。,列表方式输入,简单列表方式输入INPUT variable;调整列表方式输入INPUT variable;,列表方式输入使用条件输入数据值之间至少有一个空格隔开;用小数点表示表示缺失值;字符型值的默认长度为8个字节,也可以用LENGTH,ATTRIB,INFORMAT语句规定长度;数据必须

6、是字符数据或标准的数值数据。,列表方式输入格式修饰符,:当原始数据是以空格为分隔符时,要想对变量值长度不一致的变量规定统一长度就必须用到该格式修饰符。规定变量值是从非空格列中读取,直到第一次遇到以下三种情况之一,该变量值的读取过程才结束:下一个空格列;达到变量预先设定的长度(如果没有预先设定变量长度就是SAS默认字符长度8个字节);数据行结束。,例5.5 空格为分隔符时,对变量值长度不一致的变量规定统一长度。data;input Univ:$12.Plc$Zip;cards;MIT Boston 100023 TsinghuaUniv Beijing 100084;例中,第一个观测变量Univ

7、的值为MIT(只读3个字符,因遇到空格而结束)第二个观测值为TsinghuaUniv(得到先前定义的变量长度12)。如果只对变量Univ规定长度,而不加格式修饰符(:),在读入第一条记录时就会出错,如果不对变量Univ规定长度,读入第二条记录时就会只读入Tsinghua,而不是预先要读入的TsinghuaUniv,这是因为SAS默认的字符变量的存储长度就是8个字节。,加格式修饰符(:),不加格式修饰符(:),例中,第一个观测name 中Jiang Zhu(包含一个空格),第二个观测为Annie Zheng(包含一个空格)。分隔符为两个空格。注意:因&有以上特性,数据之间应该用两个以上的空格隔开

8、。,规定读入字符值时保留引号。此选项只在INFILE语句中与选项DSD一起使用时才有效。注意:DSD选项在第六章会有详细介绍。这里先说明它的4个功能:将默认分隔符改为逗号;对于连续的两个分隔符,中间按缺失值处理;将字符变量值的引号去掉;对引号里的分隔符按字符来对待。所以INFILE语句中的DSD选项自动把数据记录的分隔符设置为逗号,并且读入数据之前,把字符数据中的引号去掉,若加上就会保留数据中的引号。,可以通过下面的这个例子来理解DSD和的作用。例5.7 DSD和的作用,读入字符值时保留引号。只在INFILE语句中与选项DSD一起使用时才有效。data topics2;infile datal

9、ines dsd;input speakers:$15.title$40.location 由上例可以看出,“”包含“:”选项的功能。例中,虽然title变量的长度是40,而观测值得长度都不到40,仍然可以得到正确结果。所以“”包含“:”的功能。,把speakers后面的“:”改成了“”也可以。例如:data topics2;infile datalines dsd;input speakers$15.title$40.location,输出窗口信息:,但是,若把title后成的“”改成“:”,引号就因为dsd选项的存在被去掉。如下:data topics2;infile datalines

10、dsd;input speakers:$15.title:$40.location,输出窗口信息,格式化方式输入,格式化输入方式是INPUT语句读取非标准数据的唯一方法。即在变量名后面规定输入格式。这种输入方式不仅给出了该输入数据所对应的类型,而且给出了输入数据所在列的长度。,语句格式:INPUT variable informat.;INPUT(variable-list)(informat-list);INPUT(variable-list)(informat.);其中:n*规定在输入列表中后面的输入格式重复n次。,例5.8 格式化方式输入。data;infile datalines;In

11、put(X1-X5)(3*7.2,2*5.2);.例中,前3个变量X1-X3的格式为7.2,而后2个变量X4-X5的格式为5.2例5.9 读入非标准数据$1,000.22。data one;input x comma9.2;datalines;$1,000.22;run;例中,读入的数据为1000.22,这里要注意长度,该数据符号加上数字一共是九列。,命名方式输入,如果数据行中含有变量的名字,后面跟着等号和变量的值,读取数据时应该使用命名输入方式。,语句格式INPUT variable=;INPUT variable=start-column;INPUT variable=informat.;

12、其中:variable=规定用于INPUT语句读入的变量名。,例5.11 使用命名输入格式。data a;input date yymmdd10.fullshr stkcd=$lstknm=$;cards;2001-01-18 1486553100 stkcd=600001 lstknm=邯郸钢铁;run;后面的变量不采用命名输入格式,读入数据时出错。data a;input date yymmdd10.stkcd=$lstknm=$fullshr;cards;2001-01-18 stkcd=600001 lstknm=邯郸钢铁 1486553100;run;Log窗口显示出错信息:NOTE:LOST CARD.RULE:-+-1-+-2-+-3-+-4-+-5-+-6-+-7-+-8-date=14993 stkcd=600001 lstknm=邯郸钢铁 fullshr=._ERROR_=1 _N_=1NOTE:INPUT 语句到达一行的末尾,SAS 已转到新的一行。NOTE:数据集 WORK.A 有 0 个观测和 4 个变量。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号