《变量输入输出格式精选PPT.ppt》由会员分享,可在线阅读,更多相关《变量输入输出格式精选PPT.ppt(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、变量量输入入输出格式出格式第1页,此课件共43页哦本章内容包括:本章内容包括:输入格式;输出格式;SAS日期时间存贮方式;日期时间输入格式;日期时间输出格式;缺失值处理。第2页,此课件共43页哦输入格式输入格式输入格式是SAS系统用来读入数据值的一个指令。输入格式形式INFORMAT.选项说明:通用规则:所有输入格式必须包含一个点(.)作为名字的一部分;对于省略W和D值的输入格式,使用系统缺省值。第3页,此课件共43页哦输入格式使用方法输入格式使用方法INPUT语句;INPUT函数;DATA步中用INFORMAT或ATTRIB语句;PROC步中用INFORMAT或ATTRIB语句。第4页,此课
2、件共43页哦INPUT语句语句例13.1列格式输入。input6dateddmmyy10.+1stocd$8.oppr8.2;例中,从第6列开始以DDMMYY10.格式读入变量DATE,第7列开始以长度为8的字符格式读入变量STOCD,然后以数值格式8.2读入变量OPPR。第5页,此课件共43页哦INPUT函数函数例13.2字符转换数值。data;x=98.6;y=input(x,4.);putx=y=;run;例中,INPUT函数和w.d输入格式将X的字符值转换为一个数值Y.INPUT函数对于数据的转换是很有用的,当然,有更简单的方法将字符值转换为数值。data;x=98.6;y=x-0;p
3、utx=y=;run;第6页,此课件共43页哦例13.3数值转换为字符时会产生不正确结果。data;x=2557898;y=input(x,$8.);puty;run;例中,产生的结果为255,不正确。第7页,此课件共43页哦例13.4PUT函数将数值转换为字符。data;x=2557898;y=put(x,$8.);puty;run;例中,用PUT函数得到正确结果,即字符型2557898.data;x=2557898;y=put(x,$3.);puty;run;例中,Y的结果为3E6.第8页,此课件共43页哦在在DATA步中用步中用INFORMAT语句或语句或ATTRIB语句语句例13.5D
4、ATA步中用INFORMAT语句。dataa;inputx;informatxcomma12.4;cards;12,345.123422,345.1234;run;例中,最好就是只用INFORMAT语句,不要用ATTRIB,这样可以少记些东西。第9页,此课件共43页哦永久性与临时性联系永久性与临时性联系DATA步规定的输入格式是永久联系的;PROC步规定的输入格式是临时联系的。第10页,此课件共43页哦输入格式类型输入格式类型数值输入格式;字符输入格式;日期时间输入格式;竖式二进制数输入格式;使用FORMAT过程自定义的输入格式。第11页,此课件共43页哦w.d输入格式输入格式读入标准数值数据
5、。例13.6INPUT语句对变量使用列指针控制和w.d的输入格式。INPUTX8.2;INPUTX1-10.2;W.D输入格式把一个点(.)作为缺失值。用W.D输入格式时,数值域尾部的空白不表示0,用BZ.输入格式可以把尾部空白读为0.数值变量输入格式数值变量输入格式第12页,此课件共43页哦COMMAw.d输入格式输入格式COMMAw.d输入格式读入包含字符的数值。数值数据内可能包含的字符有:逗号;空格;$;%;破折号;圆括号等。例13.8读入带千分号的数据。dataa;inputxcomma12.2;cards;12,522.2315;run;第13页,此课件共43页哦例13.10数值变量
6、输入格式应用举例。data;informatx8.2;x=12345.1234;putx=;run;dataa;x=12345.1234;informatx12.4;formatx8.2;putx=;run;dataa;inputx;informatxcomma12.4;cards;12,345.123422,345.1234;run;结果显示x=12345.1234.结果显示x=12345.12.第14页,此课件共43页哦$w.输入格式输入格式读入标准字符数据。在读入字符值之前,$w.输入格式清除字符值开头的空格。$w.输入格式把一个点(.)转换为空格,因为它把一个点看作缺失值。例13.11
7、读入数据时,清除数据开头空格并将(.)转换为缺失值。data;inputname$5.;cards;xyz.uvw;optionsnocenter;procprintnoobs;run;输出结果:xyzuvw字符变量输入格式字符变量输入格式第15页,此课件共43页哦$CHARw输入格式输入格式读含有空格的字符数据。$CHARw.输入格式除了不清除字符值开头的空作格外,它等同于标准的$w.输入格式。例13.12保留开头和结尾的空格。data;inputname$char10.;cards;xyz.uvw;optionsnocenter;procprintnoobs;run;INPUT语句采取自由
8、格式输入时,INFORMAT或ATTRIB语句中不能使用$CHAR.输入格式,因为SAS把空格看作数据行中数值间的分隔符。输出结果:xyz.uvw第16页,此课件共43页哦例13.13不能放放在一起使用的语句。informatx$char12.;inputxyz;例13.14直接赋值为字符型变量。dataa;x1=st92;x2=st92;informatx$8.;x3=12,345.1234;run;第17页,此课件共43页哦输出格式输出格式输出格式是SAS系统用来输出数据值的一个指令。输出格式形式FORMAT.选项说明:第18页,此课件共43页哦通用规则:所有输出格式必须包含一个点(.)作
9、为名字的一部分;省略W和D的值时,使用系统的缺省值;无论怎样规定输出格式中的小数位,输出格式都不会影响存贮的数据值;规定的输出格式宽度太窄小时,对字符格式截去右边的字符,对数值格式转换为BESTw.的格式;使用一个不协调的输出格式时,SAS系统首先试着使用其它类型的类似格式。如果行不通,将输出一个错误信息在SAS日志。第19页,此课件共43页哦输出格式使用方法输出格式使用方法PUT语句;PUT函数;DATA步中用FORMAT或ATTRIB语句;PROC步中用FORMAT或ATTRIB语句。第20页,此课件共43页哦PUT语句语句例13.15PUT语句中使用输出格式。data;x=1145.32
10、;putxdollar10.2;run;结果为$1,145.32。输出格式带千分号和美元号。第21页,此课件共43页哦PUT函数函数PUT函数对于将数值转换为字符,或者改变变量的字符输出格式是很有用的。例13.16PUT函数中使用输入格式。data;cc=16;cchex=put(cc,hex3.);putcchex3.;run;结果为010.例中,转换数值变量cc的值为三个字符的十六进制表达式。data;cc=16;cc=put(cc,3.);run;例中,将数值CC转换为字符值。第22页,此课件共43页哦DATA步中用步中用FORMAT或或ATTRIB语句语句例13.17DATA步中用FO
11、RMAT或ATTRIB语句。formatsales1-sales12comma10.2;例中,FORMAT语句对变量sales1至sales12规定输出格式COMMAw.d.attribsales1-sales12format=comma10.2;例中,ATTRIB语句对变量sales1至sales12规定输出格式COMMAw.d.第23页,此课件共43页哦输出格式类型输出格式类型数值输出格式;字符输出格式;日期时间输出格式;使用FORMAT过程创建的自定义输出格式。第24页,此课件共43页哦第25页,此课件共43页哦w.d输出格式输出格式输出标准数值数据。对超出输出格式宽度的数值进行四舍五入
12、。数值过大时,使用BESTw.输出。例13.18w.d输出格式应用。dataa;x=23.45;putx6.3;run;结果是23.450。例13.19使用列输出法等价于使用指针控制和w.d的格式。putx1-8.2;put1x8.2;例中,两个语句等价。数值变量输出格式数值变量输出格式第26页,此课件共43页哦BESTw.格式格式v没有对变量规定输出格式时,使用BEST.的格式。SAS在规定的宽度列数中选择能够给出该值最多信息的表示法作为输出格式。SAS仍存贮原来的完整数值。第27页,此课件共43页哦例13.20用不同的BESTw.形式输出时,显示结果不一样,但在SAS存贮的都是原来的完整数
13、值。data;x=12570000;put10 xbest6.;run;输出值为1.26E6。正确地输出这个值需要8列,使用E表示法把这个值压缩为6列.data;x=12570000;put10 xbest3.;run;输出值为1E6.data;x=12570000;put10 xbest2.;run;输出值为*.第28页,此课件共43页哦Ew.输出格式输出格式例13.22用科学记数法表示输出数值。data;x=1257;put10 xe10.;run;输出值为1.257E+03,共占9列。第29页,此课件共43页哦输入输出控制流程输入输出控制流程输入-存储-输出控制流程第30页,此课件共43
14、页哦$w.输出格式输出格式$w.是最常用的字符数据输出格,w值给出输出字符值的列数。例13.24$w.和列输出格式产生同样效果。data;name=ABC;put10name$3.;putname$10-12;run;例中,都输出值为ABC.字符变量输出格式字符变量输出格式第31页,此课件共43页哦日期时间存贮方式日期时间存贮方式SAS日期值存贮方式日期值存贮方式SAS系统存贮日期值为1960年1月1日到这个日期之间的天数。日期存贮方式举例第32页,此课件共43页哦例13.25表中天数的计算程序。data;date=mdy(1,1,1960);putdate8.;date=mdy(3,3,19
15、62);putdate8.;date=mdy(8,4,1985);putdate8.;date=mdy(10,1,2002);putdate8.;date=mdy(7,4,1776);putdate8.;run;第33页,此课件共43页哦SAS日期时间值存贮方式日期时间值存贮方式SAS存贮时间值从0时开始以秒记数。日期时间值存贮方式举例第34页,此课件共43页哦例13.26表中秒数的计算程序。data;hms=hms(21,50,51);puthms=;x=21*60*60+50*60+51;putx=;date=mdy(10,1,2002);putdate=;dhms=dhms(date,2
16、1,50,51);putdhms=;y=date*24*3600+x;puty=;run;第35页,此课件共43页哦日期时间输入格式日期时间输入格式输入格式描述例子宽度范围缺省范围datew.Ddmmyy1jan200301jan031-jan-20037-327datetimew.Ddmmyy hh:mm:ss.ss01jan03:8:56:10.201jan2003/8:56:1013-4018yymmddw.03 01 0103/01/01030101200301016-326第36页,此课件共43页哦应用举例应用举例例1327使用SAS日期时间的输入格式。dataa;inputdate
17、mmddyy10.;cards;10-01-200210/01/2002;run;第37页,此课件共43页哦日期时间输出格式日期时间输出格式v假定日期时间值为2003年3月27日12点5分5.49秒,星期四,为2003年的第86天,第1季度,所在周的第5天。输出格式描述例子宽度范围缺省范围datew.Ddmmmyy27MAR200327MAR0327MAR5-97datetimew.dDdmmyy:Hh:Mm:Ss.Ss27MAR03:12:05:05.4927MAR03:127-4016yymmddw.Yymmdd2003-03-2703-03-27032-108第38页,此课件共43页哦例
18、13.28使用SAS日期时间的输出格式。dataa;inputdatemmddyy10.;formatdateyymmdd10.;putdate=;cards;10-01-200210/01/2002;run;dataa;inputdatemmddyy10.;formatdatedate9.;putdate=;cards;10-01-200210/01/2002;run;data;x=put(today(),date7.);putx;y=put(today(),8.0);puty;z=today();putz;u=put(15260,yymmdd10.);putu;v=put(15260,da
19、te9.);putv;run;显示结果:19SEP0215602156022001-10-1212OCT2001第39页,此课件共43页哦data;x=13807;formatxyymmdd10.;putx=;run;显示结果:x=1997-10-20data;date=11oct2001d;putdate=;formatdateyymmdd10.;run;显示结果:date=2001-10-11第40页,此课件共43页哦缺失值处理缺失值处理读入含缺失值的数据可以表示缺失值的字符有:空格;点;MISSING语句规定的字符。例13.29空格表示缺失值的数据适合列方式读入。dataa;inputn
20、ame$1-5test17-8test210-11;cards;ann9296susan84bill81;run;例中,SUSAN第一次测验缺席,BIL第二次测验缺席,空格表示缺失值。第41页,此课件共43页哦例13.30点表示缺失值的数据适合自由方式读入。datab;inputname$test1test2;cards;ann9296susan.84bill81.;run;例13.31读入由MISSING语句规定缺失值的数据。datac;MissingA;inputname$test1test2;cards;ann9296susanA84bill81A;run;第42页,此课件共43页哦系统产生的缺失值系统产生的缺失值SAS系统产生缺失值的情况有三种:算术运算;非法运算符;非法字符转换为数值。第43页,此课件共43页哦