SAS的输入输出格式.ppt_第1页
SAS的输入输出格式.ppt_第2页
SAS的输入输出格式.ppt_第3页
SAS的输入输出格式.ppt_第4页
SAS的输入输出格式.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SAS的输入输出格式,什么是格式(Format)?FormatisaninstructiontheSASSystemusestodisplayorwriteeachvalueofavariable.即:读入不同格式的数据,并按不同要求显示数据。常见数据的数据格式:字符型数值型日期时间型用户自定义型(用FORMAT过程定义)注:除自定义类型外,其他类型的数据SAS系统均已定义好了相应的格式,只需要调用即可输入格式和输出格式的使用:输入格式通常在input语句中使用,输出格式通常在format语句中使用。,1、字符型输入/输出格式,1、输入格式:$w.和$CHARw.共同特点:缺省值均为变量的长度不同点:$w.:必须指定w的值,不保留字符串前的空格$CHARw.:w的缺省值为8,保留字符串前的空格2、输出格式:$w.和$CHARw.共同特点:保留字符串前的空格注:一个汉字占两个字节,例1.下面是一些人名,请将其读入到一个变量NAME中,注意:姓和名之间有一个空格,建立的SAS数据集如右边的形式。BillClintonGeorgeBushTonyBlairSaddamHusseinVladimirPutin,1、字符型输入/输出格式,dataa;inputname$char14.;cards;BillClintonGeorgeBushTonyBlairSaddamHusseinVladimirPutin;procprint;run;,Obsname1BillClinton2GeorgeBush3TonyBlair4SaddamHussein5VladimirPutin,$CHARw.:读取包含空格的字符串如果将char14.去掉,语句改为:inputname$;结果是什么样的呢?,2、数值型输入/输出格式,1、输入格式:w.dw.d:读入宽度为w的原始数据,并存为SAS数值,也能自动读入以浮点方式表示的原始数据。遵循以下原则:,2、数值型输入/输出格式,2、输出格式:Bestw.d,w.d和Ew.Bestw.d:系统默认格式(相当于后两种格式的自动识别)。w缺省值为12,最大值可达32w.d:将数值用不超过d位小数及总宽度不超过w位的定点数表示Ew.:用宽度不超过w的浮点数表示注:宽度设置不合适时,自动调用SAS系统同宽度的Best格式表示。,1、特殊的输入格式COMMAw.d:专为读入金额的数据而设置。读入宽度为w的字符串,并能自动去除逗号,空格,美圆符号和短横线,保留数字和小数点,还可将用括号括起来的数据记为负数。读入后按格式w.d记入数值。DOLLARw.d为其别名。,2、数值型输入/输出格式,2、特殊的输出格式:COMMAw.d和DOLLARw.dCOMMAw.d:将数值以包含小数位数不超过d位的定点数表示,并在整数部分自右往左每三位用逗号分隔,总字符数不超过w。COMMA6.为其缺省设置。DOLLARw.d在COMMA表示的数据左侧加上美圆符号。,2、数值型输入/输出格式,dataa;inputxcomma7.ycomma7.;cards;12,00234,2312,21021,311run;procprint;run;,OUTPUT:Obsxy112002342312221021311,例2.有如下两列数据,数据中包含有逗号,请建立一个SAS数据集,变量为x、y。12,00234,2312,21021,311,dataa;inputxcomma7.2yomma7.4;cards;12,00234,2312,21021,311run;procprint;run;,OUTPUT:Obsxy1120.023.4231222.102.1311,例3.有如下两列数据,其中第一列后两位数字为小数,第二列后4位为小数,例如第一个数据12,002读入后应为120.02。请建立一个SAS数据集,变量为x、y。12,00234,2312,21021,311,dataa;inputxdollar8.ydollar8.;cards;$12,002$34,231$2,210$21,311run;procprint;run;,OUTPUT:Obsxy112002342312221021311,例4.有如下两列数据,数据中包有$和逗号,请建立一个SAS数据集,变量为x、y。(例如$12,002读入后应为12002)$12,002$34,231$2,210$21,311,dataa;inputxdollar8.2ydollar8.4;cards;$12,002$34,231$2,210$21,311run;procprint;run;,OUTPUT:Obsxy1120.023.4231222.102.1311,例5.有如下两列数据,其中第一列后两位数字为小数,第二列后4位为小数,例如第一个数据$12,002读入后应为120.02。请建立一个SAS数据集,变量为x、y。$12,002$34,231$2,210$21,311,日期,时间,日期时间型的数据均以与0值的差值数据存入计算机。零点值的规定日期型:0值(1960.1.1),其他日期为与其的差值时间型:0值(0时0分0秒)日期时间型0值(1960年1月1日0时0分0秒),3、日期时间型输入/输出格式,1、日期输入格式:YYMMDDw.读入的数据形式为:yymmdd/yyyymmddW:6-32,缺省为6其他格式:MMDDYYw.和DDMMYYw.MMDDYYw.读入的数据形式为:mmddyy/mmddyyyyDDMMYYw.读入的数据形式为:ddmmyy/ddmmyyyy,3、日期时间型输入/输出格式,2、日期输出格式:YYMMDDxw.读入的数据形式为:yymmdd/yyyymmddW:2-10(x为N时,2-8),缺省为8xBCDNPS分隔符空格:-无./YYMMDDw.相当于YYMMDDDw.其他格式:MMDDYYxw.和DDMMYYxw.,3、日期时间型输入/输出格式,3、特殊日期输入/输出格式:DATEw.输入/输出日期的格式为:ddmmmyy/ddmmmyyyy缺省方式为DATE7.,3、日期时间型输入/输出格式,3、特殊日期输入/输出格式:DATEw.输入/输出日期的格式为:ddmmmyy/ddmmmyyyy缺省方式为DATE7.,3、日期时间型输入/输出格式,4、时间输入格式:TIMEw.读入的时间形式为:hh:mm:ss.ss时分秒间的分隔符有:(:),(空格),(-);还有PM,AM例:14035.37PM读入格式time14.49235.37输出格式timeampm13.21:40:35.37PM5、时间输出格式:TIMEw.dd:可指明秒数包含的小数位数。输出时总带有分隔符(:)宽度不够时,先显示小时数,再是分钟,再是秒数。,3、日期时间型输入/输出格式,6、日期时间输入格式:DATETIMEw.读入的日期时间形式为:ddmmmyyhh:mm:ss.ss/ddmmmyyyyhh:mm:ss.ssW:13-40,缺省187、日期时间输出格式:DATETIMEw.d输出格式形式:ddmmmyy:hh:mm:ss.ss/ddmmmyyyy:hh:mm:ss.ssW:7-40,缺省16宽度不够时,从秒数开始截尾,宽度足够时(w=19+d)时自动显示四位数的年份。,3、日期时间型输入/输出格式,YEARCUTOFF=1920(此值可修改)管理100年的时间:1920-2019例:12/07/41表示12/07/194118Dec15表示18Dec2015,3、两位数年份输入,datab;inputdddate15.;formatdddate9.;cards;1Jan200203Jan200315/May/200412-FEB-200517*May*%20061*OCT*200730%sep%/2008;procprint;run;,1Jan200203Jan200315/May/200412-FEB-200517*May*%20061*OCT*200730%sep%/2008,01312002031220035132004421200552520061/2/20073-24-2008,datab;inputddmmddyy10.;formatddmmddyy10.;cards;01312002031220035132004421200552520061/2/20073-24-2008;procprint;run;,4、自定义格式,使用PROCFORMAT过程进行格式的自定义。,PROCFORMAT;INVALUE格式名格式;VALUE格式名格式;RUN;,INVALUE:定义输入格式VALUE:定义输出格式。下面只介绍定义输出格式(自定义格式比较特别)。,语法:PROCFORMAT;VALUE自定义输出格式名字定义的格式;RUN;,自定义输出格式名字:应符合SAS的命名要求,注意最后一个字符不能是数字。定义的格式:原始值=格式化的输出值,4、自定义格式,例6.下面是“问卷调查”资料的部份数据。变量sex的赋值是:1=Male,2=Female,变量Band46的赋值是:A=增加,B=不变,C=减弱,请建立一个SAS数据集EX,对变量sex、Band46进行格式化。,dataqespart;inputid$sexheightweightband46$;cards;cnw1r01215449Ccnw1r02116964Bcnw1r04116967Acnw1r05215350Bcnw1r06216050Acnw2r02215646Acnw2r03117362Bcnw2r04116857Bcnw2r05215545Brun;procprint;run;,PROCFORMAT;VALUEsexfmt1=Male2=Female;VALUE$bandfmtA=增加B=不变C=减弱;RUN;,首先建立相应的输出格式,上面建立了两种类型的输出格式:一种是数值型的,即sexfmt,要求=号左边为数值型数值或区间,如上面的1、2为数值;另一种是字符型的,即$bandfmt,$表明该格式是字符型,要求=号左边为字符或字符区间,如A、B、C。,DATAqesfmt;SETqespart;FORMATSexsexfmt.Band46$bandfmt.;RUN;PROCPrint;RUN;,PROCFORMAT;VA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论