SAS格式及格式化输入.pptx

上传人:莉*** 文档编号:72986855 上传时间:2023-02-14 格式:PPTX 页数:73 大小:459.01KB
返回 下载 相关 举报
SAS格式及格式化输入.pptx_第1页
第1页 / 共73页
SAS格式及格式化输入.pptx_第2页
第2页 / 共73页
点击查看更多>>
资源描述

《SAS格式及格式化输入.pptx》由会员分享,可在线阅读,更多相关《SAS格式及格式化输入.pptx(73页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、SAS的输入输出格式的输入输出格式SAS的变量包含数值型和字符型变量。SAS系统对数值型、字符型和日期时间数据提供了许多输入、输出格式。用户可以用FORMAT过程来定义自己的格式。什么是格式(Format)?Format isaninstructiontheSASSystemusestodisplayorwriteeachvalueofavariable.SAS有输入格式和输出格式。第1页/共73页输入输出格式输入输出格式原始数据值原始数据值SAS变量的值变量的值格式化的格式化的SAS变量值变量值Informatdollar10.Formatcomma8.548,23125JAN2004160

2、9501/25/2004InformatDate9.FormatMMDDYY10.$548,231548231Informat(输入格式)(输入格式)Format(输出格式)(输出格式)第2页/共73页p输入格式输入格式 输入格式是SAS系统用来读入数据值的一个指令。输入格式形式 INFORMAT.选项说明:通用规则:所有输入格式必须包含一个点(.)作为名字的一部分;对于省略W和D值的输入格式,使用系统缺省值。第3页/共73页输入格式使用方法输入格式使用方法 INPUT语句;INPUT函数;INFORMAT或ATTRIB语句;第4页/共73页INPUT语句,最常用情况,即格式化输入语句,最常用

3、情况,即格式化输入 格式化输入方式是INPUT语句读取非标准数据的唯一方法。即在变量名后面规定输入格式。这种输入方式不仅给出了该输入数据所对应的类型,而且给出了输入数据所在列的长度。语句格式:语句格式:INPUTvariableinformat.;INPUT(variable-list)(informat-list);INPUT(variable-list)(informat.);其中:n*规定在输入列表中后面的输入格式重复n次。第5页/共73页INPUT语句语句例中,从第1列开始以$8.格式读入变量name,第14列开始以yymmdd10.格式读入变量birth,右移1列,从第25列开始以5

4、.1读入变量height例如,datadata a;input name$11.1414 birth yymmdd10.+1 1 height 5.15.1;cards;Wanghuacong 1995/06/09 178.5 Zuosha 1996/12/15 165.8;procproc printprint;runrun;第6页/共73页INPUT函数函数 例,字符转换数值data;x=39.8;y=input(x,4.1);putx=y=;run;例中,INPUT函数将字符变量X的值39.8,通过输入格式 4.1 转换为一个数值39.8,赋给变量Y,因此Y为数值型变量第7页/共73页例

5、,数值转换为字符时会产生不正确结果 例中,产生的结果为255,不正确;除非增加输入格式的长度,如y=input(x,$15.);此时,最常用的做法是使用put函数,而不是input函数data;x=2557898;y=put(x,$8.);put y;run;data;x=2557898;y=input(x,$8.);put y;run;第8页/共73页用用INFORMAT语句或语句或ATTRIB语句语句 例,DATA步中用INFORMAT语句 datadata a;input name$11.birth height;informatinformat birth birth yymmdd10

6、.yymmdd10.height height 5.15.1;cards;Wanghuacong 1995/06/09 178.5 Zuosha 1996/12/15 165.8;procproc printprint;runrun;第9页/共73页输入格式输入格式1、数值型变量输入格式几个常用的格式:w.d:读入标准数值数据COMMAw.d:用于数据中包含逗号(,)的数据形式 DOLLARw.d:用于数据前面有美元符($)的数据形式说明:w:宽度,表示数值域所含的列数。小数点占一列。d:小数位数。d可以省略。例如:5.2,表示该变量的数据占5列,其中后两位是小数位。注意:一定要弄清数据占据的

7、列数,否则极易出错。第10页/共73页data a;input x comma7.y comma7.;cards;12,002 34,2312,210 21,311;run;proc print;run;OUTPUT:Obs x y 1 12002 34231 2 2210 21311例例1.有如下两列数据,数据中包有逗号,请建立一个有如下两列数据,数据中包有逗号,请建立一个SAS数据集,变量为数据集,变量为x、y。12,002 34,2312,210 21,311数字7是怎么来的?第11页/共73页data a;input x comma7.2 y comma7.4;cards;12,002

8、 34,2312,210 21,311;run;proc print;run;OUTPUT:Obs x y 1 120.02 3.4231 2 22.10 2.1311例例2.有如下两列数据,其中第一列后两位数字为小数,第有如下两列数据,其中第一列后两位数字为小数,第二列后二列后4位为小数,例如第一个数据位为小数,例如第一个数据12,002读入后应为读入后应为120.02。请建立一个。请建立一个SAS数据集,变量为数据集,变量为x、y。12,002 34,2312,210 21,311第12页/共73页data a;input x dollar8.y dollar8.;cards;$12,00

9、2$34,231$2,210$21,311;run;proc print;run;OUTPUT:Obs x y 1 12002 34231 2 2210 21311例例3.有如下两列数据,数据中包有有如下两列数据,数据中包有$和逗号,请建立和逗号,请建立一个一个SAS数据集,变量为数据集,变量为x、y。(例如例如$12,002读入后读入后应为应为12002)$12,002$34,231$2,210$21,311第13页/共73页data a;input x dollar8.2 y dollar8.4;cards;$12,002$34,231$2,210$21,311;run;proc prin

10、t;run;OUTPUT:Obs x y 1 120.02 3.4231 2 22.10 2.1311例例4.有如下两列数据,其中第一列后两位数字为小数,有如下两列数据,其中第一列后两位数字为小数,第二列后第二列后4位为小数,例如第一个数据位为小数,例如第一个数据$12,002读入后应读入后应为为120.02。请建立一个。请建立一个SAS数据集,变量为数据集,变量为x、y。$12,002$34,231$2,210$21,311第14页/共73页$w.输入格式输入格式 读入标准字符数据。在读入字符值之前,$w.输入格式清除字符值开头的空格。$w.输入格式把一个点(.)转换为空格,因为它把一个点看

11、作缺失值。输出结果:xyzuvw2.字符型变量输入格式 例,读入数据时,清除数据开头空格并将(.)转换为缺失值。Data a;input name$5.;cards;xyz .uvw;options nocenter;proc print noobs;run;第15页/共73页$CHARw.输入格式输入格式 读含有空格的字符数据。$CHARw.输入格式除了不清除字符值开头的空作格外,它等同于标准的$w.输入格式。例,保留开头和结尾的空格。data;input name$char10.;cards;xyz .uvw ;options nocenter;proc print noobs;run;I

12、NPUT语句采取自由格式输入时,INFORMAT或ATTRIB语句中不能使用$CHAR.输入格式,因为SAS把空格看作数据行中数值间的分隔符。输出结果:xyz.uvw第16页/共73页$CHARw.:读取包含空格的连续字符例例5.下面是一些人名,请将其读入到一个变量下面是一些人名,请将其读入到一个变量NAME中,中,注意:姓和名之间有一个空格,建立的注意:姓和名之间有一个空格,建立的SAS数据集如右数据集如右边的形式。边的形式。Bill ClintonGeorge BushTony BlairSaddam Hussein Vladimir PutinObsname1Bill Clinton2G

13、eorge Bush3Tony Blair4Saddam Hussein5Vladimir Putin第17页/共73页data a;input name$char14.;cards;Bill ClintonGeorge BushTony BlairSaddam Hussein Vladimir Putin;proc print;run;Obs name 1 Bill Clinton 2 George Bush 3 Tony Blair 4 Saddam Hussein 5 Vladimir Putin如果将char14.去掉,语句改为:input name$;结果是什么样的呢?第18页/共7

14、3页日期和时间数据的存储日期和时间数据的存储SAS采用数值存储日期和时间形式的数据。在默认情况下,SAS系统以0代表1960年1月1日0时。其它日期在SAS系统中被存储为与该日期相差的天数。例如,1960年1月3日,在系统中存为2。2004年1月25日,在系统中存为16095。注意:为了使数值型变量显示日期形式,必须使用日期型的输出格式,同样地为了以日期形式输入日期必须使用日期型的输入格式。3、日期数据输入格式第19页/共73页日期数据的读入通常需要运用日期型的格式第20页/共73页日期时间输出格式日期时间输出格式日期型数据的输入输出格式大部份是相同的,下面是几个常用的:日期型数据的输入输出格

15、式大部份是相同的,下面是几个常用的:第21页/共73页该例中日期数据的形式是什么样的?例例6.有如下的日期数据,请建立一个有如下的日期数据,请建立一个SAS数据集数据集EX6存储,存储,并以日期的形式显示出来。并以日期的形式显示出来。1Jan200203 Jan 200315/May/200412-FEB-200517*May*%20061*OCT*200730%sep%/2008DD MMM YYYY故选择DATEw.输入格式第22页/共73页 data b;input dd date15.;format dd date9.;cards;1Jan2002 03 Jan 2003 15/May

16、/2004 12-FEB-2005 17*May*%2006 1*OCT*2007 30%sep%/2008;proc print;run;Obsdd101JAN2002203JAN2003315MAY2004412FEB2005517MAY2006601OCT2007730SEP2008第23页/共73页例例7.有如下的日期数据,请建立一个有如下的日期数据,请建立一个SAS数据集数据集EX7存储,存储,并以日期的形式显示出来。并以日期的形式显示出来。01312002031220035 13 20044 21 20055 25 20061/2/20073-24-2008该例中日期数据的形式是什

17、么样的?MM DD YYYY故选择MMDDYY10.输入格式第24页/共73页01312002031220035 13 20044 21 20055 25 20061/2/20073-24-2008data b;input dd mmddyy10.;format dd mmddyy10.;cards;01312002031220035 13 20044 21 20055 25 20061/2/20073-24-2008;proc print;run;Obsdd101/31/2002203/12/2003305/13/2004404/21/2005505/25/2006601/02/200770

18、3/24/2008第25页/共73页p输出格式输出格式 选项说明:输出格式是SAS系统用来输出数据值的一个指令。输出格式形式 FORMAT.第26页/共73页通用规则:所有输出格式必须包含一个点(.)作为名字的一部分;省略W和D的值时,使用系统的缺省值;无论怎样规定输出格式中的小数位,输出格式都不会影响存贮的数据值;规定的输出格式宽度太窄小时,对字符格式截去右边的字符,对数值格式转换为BESTw.的格式;使用一个不协调的输出格式时,SAS系统首先试着使用其它类型的类似格式。如果行不通,将输出一个错误信息在SAS日志。第27页/共73页输出格式类型输出格式类型 数值输出格式;字符输出格式;日期时

19、间输出格式;使用FORMAT过程创建的自定义输出格式。第28页/共73页输出格式使用方法输出格式使用方法 DATA步中用FORMAT或ATTRIB语句;PROC步中用FORMAT或ATTRIB语句。PUT语句;PUT函数;第29页/共73页FORMAT或或ATTRIB语句,最常用方式语句,最常用方式 数据步中使用dataa;inputxcomma7.ycomma7.;formatxydollar8.;cards;12,00234,2312,21021,311;run;procprint;run;过程步中使用format语句procprint;formatxcomma7.ydollar8.;ru

20、n;过程步中使用attribattrib语句 procproc printprint;attrib x y format=comma7.;runrun;第30页/共73页PUT语句语句 在PUT语句中使用输出格式data;x=1145.32;putxdollar10.2;putxcomma8.2;run;结果为:$1,145.321,145.32第31页/共73页PUT函数函数 PUT函数对于将数值转换为字符,或者改变字符输出格式 datadata a;birth=1609516095;birthtext=put(birth,yymmdd10.);put birthtext=;put birt

21、h=;runrun;LOG窗口输出结果 birthtext=2004-01-25 birth=16095第32页/共73页常用数值变量输出格式常用数值变量输出格式第33页/共73页例子例子 datadata a;a;x=x=123456789123456789;y=y=12300001230000;z=z=1234512345;putput x x best7.best7./y /y best7.best7./z /z best7.best7.;putput x x 8.28.2;putput x x 11.211.2;putput x x 12.212.2;putput y y dollar

22、8.dollar8.;putput y y dollar10.dollar10.;runrun;Log窗口输出结果-+-+-+1.235E8 1230000 12345 1.2346E8 123456789.0 123456789.00$1230000$1,230,000可以看到SAS会根据指定的输出宽度选择最合适的输出形式,以满足指定的宽度。例如,putydollar8.;由于数据本身有7位,因此输出时仅添加了一个$符号,而未添加千分位的逗号(,),见倒数第二输出。第34页/共73页p自定义格式自定义格式使用PROCFORMAT过程进行格式的自定义。PROC FORMAT;INVALUE 格

23、式名格式名 格式格式;VALUE 格式名格式名 格式格式;其中,其中,invalue定义输入格式,定义输入格式,value定义输出格式。定义输出格式。第35页/共73页p自定义输入格式,语法自定义输入格式,语法PROCFORMAT;INVALUE 格式名格式名 定义的输入格式定义的输入格式;RUN;格式名格式名:应符合:应符合SAS的命名要求的命名要求(但不能超过但不能超过8个字符个字符),注意,注意最后一个字符不能是数字。最后一个字符不能是数字。定义的输入格式定义的输入格式:原始值原始值=格式化的输入值格式化的输入值当格式化的输入值为字符时,这字符型输入格式,名字前加当格式化的输入值为字符时

24、,这字符型输入格式,名字前加$,否则为数值型输入格式否则为数值型输入格式如,如,invalue sexinf “F”=1 “M”=2;invalue$sexicf “F”=“Female”“M”=“Male”;第36页/共73页Invalue语句自定义输入格式语句自定义输入格式2355SOOS588922223878CEEE44090111398533320740SEES2398EECC5162CCCE442132227385CCCN例,下列数据中的字母O,S,E,C,N 分别赋值为4,3,2,1,0,使用输入格式读入数据,并全部转化为数值。(5个变量)第37页/共73页PROC FORMAT

25、;INVALUE scoref O=4 S=3 E=2 C=1 N=0;RUN;首先建立输入格式首先建立输入格式(数值型,等号右边为数值数值型,等号右边为数值)第38页/共73页使用自定义的格式使用自定义的格式scoref datadata a;input id x1 scoref.+1 1 x2 scoref.+1 1 x3 scoref.+1 1 x4 scoref.;cards;2355 S O O S 5889 2 2 2 2 3878 C E E E 4409 0 1 1 1 3985 3 3 3 2 0740 S E E S 2398 E E C C 5162 C C C E 44

26、21 3 2 2 2 7385 C C C N;procproc printprint;runrun;输出结果Obs id x1 x2 x3 x4123553443258892222338781222444090111539853332674032237239822118516211129442132221073851110第39页/共73页PROC FORMAT;INVALUE$sexf M=Male F=Female;RUN;建立字符型输入格式建立字符型输入格式 data b;input sex:$sexf.age;cards;F25m22f23F21M23;proc print;run;

27、输出结果:Obs sex age 1 Female 25 2 m 22 3 f 23 4 Female 21 5 Male 23小写字母未正确替换!第40页/共73页PROC FORMAT;INVALUE$sexf (upcase)M=Male F=Female;RUN;添加选项添加选项 upcase,重新运行,重新运行 data b;input sex:$sexf.age;cards;F25m22f23F21M23;proc print;run;输出结果:Obs sex age 1 Female 25 2 Male 22 3 Female 23 4 Female 21 5 Male 23小写

28、字母正确替换!第41页/共73页p自定义输出格式,语法自定义输出格式,语法PROCFORMAT;VALUE 自定义输出格式名字自定义输出格式名字 定义的格式定义的格式;RUN;自定义输出格式名字自定义输出格式名字:应符合:应符合SAS的命名要求的命名要求(不能超过不能超过8个个字符字符),注意最后一个字符不能是数字。,注意最后一个字符不能是数字。定义的格式定义的格式:原始值原始值=格式化的输出值格式化的输出值注:注:原始值为数值型,则为数值型格式;否则为字符型格式,原始值为数值型,则为数值型格式;否则为字符型格式,此时格式名前需加此时格式名前需加$符号符号如:如:value testf 1-5

29、=“1-5”6-=10”;value ynf 1=“是是”2=“否否”;value$grpf “A”=“试验组试验组”“B”=“对照组对照组”;第42页/共73页例例8.下面是我们班下面是我们班“问卷调查问卷调查”资料的部份数据。变量资料的部份数据。变量sex的赋值是:的赋值是:1=Male,2=Female,变量变量Band46的赋值是:的赋值是:A=增加增加,B=不变不变,C=减弱减弱,请建立一个,请建立一个SAS数据集数据集EX8,对变量sex、Band46进行格式化。第43页/共73页data qespart;input id$sex height weight band46$;car

30、ds;cnw1r01215449Ccnw1r02116964Bcnw1r04116967Acnw1r05215350Bcnw1r06216050Acnw2r02215646Acnw2r03117362Bcnw2r04116857Bcnw2r05215545B;run;proc print;run;Obsidsexheightweightband461cnw1r01215449C2cnw1r02116964B3cnw1r04116967A4cnw1r05215350B5cnw1r06216050A6cnw2r02215646A7cnw2r03117362B8cnw2r04116857B9cnw2

31、r05215545B第44页/共73页PROC FORMAT;VALUE sexfmt 1=Male 2=Female;VALUE$bandfmt A=增加增加 B=不变不变 C=减弱减弱;RUN;首先建立相应的输出格式首先建立相应的输出格式上面建立了两种类型的输出格式:上面建立了两种类型的输出格式:一种是一种是数值型数值型的,即的,即sexfmt,要求,要求=号左边为数值型数值或区间,如号左边为数值型数值或区间,如上面的上面的1、2为数值;为数值;另一种是另一种是字符型字符型的,即的,即$bandfmt,$表明该格式是字符型表明该格式是字符型,要求,要求=号左号左边为字符或字符区间,如边为字

32、符或字符区间,如A、B、C。第45页/共73页DATAqesfmt;SETqespart;FORMATSexsexfmt.Band46bandfmt.;RUN;PROCPrint;RUN;Obsidsexheightweightband461cnw1r01Female15449减弱2cnw1r02Male16964不变3cnw1r04Male16967增加4cnw1r05Female15350不变5cnw1r06Female16050增加6cnw2r02Female15646增加7cnw2r03Male17362不变8cnw2r04Male16857不变9cnw2r05Female15545不

33、变格式化后打印输出的数据格式化后打印输出的数据 对变量进行格式化第46页/共73页PROC FORMAT;VALUE heighfmt LOW-150=150 150-155=150-155155-160=155-160160-165=160-165165-170=165-170 170-175=170-175175-=180;RUN;利用格式对连续型变量的离散化分组利用格式对连续型变量的离散化分组(频数表编制频数表编制)例例9.对对“问卷调查问卷调查”资料中的身高编制频数表,组距取资料中的身高编制频数表,组距取5CM,小,小于于150为第一组,为第一组,150-155为第二组为第二组在数据步

34、中运用格式:Format height heighfmt.;加标签:label height=身高;第47页/共73页Obsclassid身高身高weight134 cnw1l01175-18070.0234 cnw1l02175-18070.0334 cnw1l03155-16047.0434 cnw1l04160-16548.0heightFrequencyPercentCumulativeFrequencyCumulativePercent150-1551914.181914.18155-1602216.424130.60160-1653828.367958.96165-1702014.

35、939973.88170-1752115.6712089.55175-180107.4613097.01=18042.99134100.00打印数据集的内容打印数据集的内容(部份部份)用用FREQ过程生成的频数表过程生成的频数表第48页/共73页SAS system Help “索引索引”输入输入“FORMAT procedure”第49页/共73页p列表方式输入列表方式输入 简单列表方式输入INPUT variable;调整列表方式输入INPUTvariable;第50页/共73页列表方式输入使用条件输入数据值之间至少有一个空格隔开;用小数点表示表示缺失值;字符型值的默认长度为8个字节,也可

36、以用LENGTH,ATTRIB,INFORMAT语句规定长度;数据必须是字符数据或标准的数值数据。第51页/共73页列表方式输入格式修饰符:当原始数据是以空格为分隔符时,要想对变量值长度不一致的变量规定统一长度就必须用到该格式修饰符。规定变量值是从非空格列中读取,直到第一次遇到以下三种情况之一,该变量值的读取过程才结束:l下一个空格列l达到变量预先设定的长度l数据行结束第52页/共73页例例,空格为分隔符时,对变量值长度不一致的变量规定统一长度。data;InputUniv:$12.Plc$Zip;cards;MITBoston100023TsinghuaUnivBeijing100084;例

37、中,第一个观测变量Univ的值为MIT(只读3个字符,因遇到空格而结束)第二个观测值为TsinghuaUniv(得到先前定义的变量长度12)。如果只对变量Univ规定长度,而不加格式修饰符(:),在读入第一条记录时就会出错,如果不对变量Univ规定长度,读入第二条记录时就会只读入Tsinghua,而不是预先要读入的TsinghuaUniv,这是因为SAS默认的字符变量的存储长度就是8个字节。第53页/共73页UnivPlcZipMITBoston100023TsinghuaUnivBeijing100084加格式修饰符(:)不加格式修饰符(:)UnivPlc ZipMIT Boston 100

38、023 .第54页/共73页&读入包含空格的数据因为空格是列表读入方式默认的分隔符,所以,如果要读入的数据值本身包括空格时就必须用此格式符。注意:数据项之间至少两个空格例,例,空格为分隔符时,字符型输入值嵌有空格。data;inputname&$12.age;cards;JiangZhu20AnnieZheng31I.Altman60;run;例中,第一个观测name中JiangZhu(包含一个空格),第二个观测为AnnieZheng(包含一个空格)。分隔符为两个空格。第55页/共73页规定读入字符值时保留引号。此选项只在INFILE语句中与选项DSD一起使用时才有效。DSD选项的4个功能:将

39、默认分隔符改为逗号;对于连续的两个分隔符,中间按缺失值处理;将字符变量值的引号去掉;对引号里的分隔符按字符来对待。所以INFILE语句中的DSD选项自动把数据记录的分隔符设置为逗号,并且读入数据之前,把字符数据中的引号去掉,若加上“”就会保留数据中的引号。第56页/共73页理解DSD和“”的作用例例,读入字符值时保留引号datatopics2;infiledatalinesdsd;inputspeakers:$15.title$40.location&$10.;datalines;Song,CreditDerivatives,Room329Zhu,CreditRiskManagement,Ro

40、om406;procprint;run;可以看出,“”包含“:”选项的功能。例中,虽然title变量的长度是40,而观测值得长度都不到40,仍然可以得到正确结果。所以“”包含“:”的功能。第57页/共73页把speakers后面的“:”改成了“”也可以。例如:datatopics2;infiledatalinesdsd;inputspeakers$15.title$40.location&$10.;datalines;Song,CreditDerivatives,Room329Zhu,CreditRiskManagement,Room406;proc print;run;输出窗口信息:Obs

41、speakers title location 1 Song Credit Derivatives Room 329 2 Zhu Credit Risk Management Room 406 第58页/共73页但是,若把title后成的“”改成“:”,引号就因为dsd选项的存在被去掉。如下:datatopics2;infiledatalinesdsd;inputspeakers:$15.title:$40.location&$10.;datalines;Song,CreditDerivatives,Room329Zhu,CreditRiskManagement,Room406;procpri

42、nt;run;输出窗口信息Obs speakers title location 1 Song Credit Derivatives Room 329 2 Zhu Credit Risk Management Room 406第59页/共73页p列方式输入列方式输入列输入方式是用来读入严格按列排好的标准数据INPUT 变量名变量名 开始列开始列-结束列结束列 ;条件:同一变量原始数据值在相同的列中 原始数据是标准的数值格式或一般字符格式特点:1.可以按任意顺序读入数据 2.字符型数据中间可以有空格 3.可以重复读取原始数据中的某一部份 4.空格和小数点都作为缺失值处理 5.忽略开始和结尾部分的

43、空格第60页/共73页按列读入按列读入dataa;inputques$1-17age18-20gender$21-26city$27-34;cards;Iamhereforyou23male大连Areyouthere26female重庆hahamale哈尔滨yesiamhere30female;procprint;run;第61页/共73页手机号码信息分解手机号码信息分解手机号码一编码规则一般是:YYY-XXXX-ZZZZ,其YYY为号段;XXXX一般为所在地区编码;ZZZZ为对应的个人识别编号。说明:移动:134-139、150、151、152、157、158、159、188联通:130、1

44、31、132、155、156电信:133、153、180、1891357851051X1508311759X1327313520X1556443719X1804346016X1513441713X1308279203X1897876466X第62页/共73页可重复读入可重复读入data b;input x1 1-3 x2 4-7 x3$8-11 x4$1-11;cards;1357851051X1508311759X1327313520X1556443719X1804346016X1513441713X1308279203X1897876466X;proc print;run;X4重复读入前面

45、的数据到一个变量中,列数为变量长度第63页/共73页p命名方式输入命名方式输入 如果数据行中含有变量的名字,后面跟着等号和变量的值,读取数据时应该使用命名输入方式。语句格式INPUT variable=;INPUT variable=start-column;INPUT variable=informat.;其中:variable=规定用于INPUT语句读入的变量名。第64页/共73页例例,使用命名输入格式。(数据中的名字与变量名相同)dataa;inputdateyymmdd10.fullshrstkcd=$lstknm=$;cards;2001-01-181486553100stkcd=6

46、00001lstknm=邯郸钢铁;run;第65页/共73页后面变量的不采用命名输入格式,读入数据时出错。dataa;inputdateyymmdd10.stkcd=$lstknm=$fullshr;cards;2001-01-18stkcd=600001lstknm=邯郸钢铁1486553100;run;Log窗口显示出错信息:第66页/共73页p缺失值表示及读取缺失值表示及读取 可以表示缺失值的字符有:空格小数点MISSING语句规定的字符第67页/共73页u空格空格表示缺失值的数据表示缺失值的数据 适合适合列方式读入列方式读入 例如,SUSAN第一次测验缺席,BIL第二次测验缺席,以空格

47、表示缺失dataa;inputname$1-5test17-8test210-11;cards;ann9296susan84bill81;run;打印结果:Obs name test1 test2 1 ann 92 96 2 susan .84 3 bill 81 .第68页/共73页u小数点小数点表示缺失值的数据表示缺失值的数据 适合适合自由方式自由方式读入读入 例如,SUSAN第一次测验缺席,BIL第二次测验缺席,以小数点表示缺失dataa;inputname$test1test2;cards;ann9296susan.84bill81.;run;打印结果:Obs name test1 t

48、est2 1 ann 92 96 2 susan .84 3 bill 81 .第69页/共73页u其它特殊符号其它特殊符号表示缺失值的数据表示缺失值的数据 适合适合自由方式自由方式读入读入+Missing语句语句申明特殊符号申明特殊符号 例如,SUSAN第一次测验缺席是由于住院,用A表示,BIL第二次测验缺席是由于出差,用B表示,A、B均表示缺失,但原因不同dataa;Missingab;inputname$test1test2;cards;ann9296susanA84bill81B;run;打印结果:Obs name test1 test2 1 ann 92 96 2 susan A 84 3 bill 81 B第70页/共73页SAS系统产生的缺失值系统产生的缺失值 三种情况算术运算非法运算符非法字符转换为数值第71页/共73页谢谢谢谢第72页/共73页谢谢您的观看!第73页/共73页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com