版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
會(huì)計(jì)學(xué)1SAS格式及格式化輸入SAS的輸入輸出格式SAS的變量包含數(shù)值型和字符型變量。SAS系統(tǒng)對(duì)數(shù)值型、字符型和日期時(shí)間數(shù)據(jù)提供了許多輸入、輸出格式。用戶可以用FORMAT過(guò)程來(lái)定義自己的格式。什么是格式(Format)?
FormatisaninstructiontheSASSystemusestodisplayorwriteeachvalueofavariable.
SAS有輸入格式和輸出格式。第1頁(yè)/共73頁(yè)輸入輸出格式原始數(shù)據(jù)值SAS變量的值格式化的SAS變量值Informatdollar10.Formatcomma8.548,23125JAN20041609501/25/2004InformatDate9.FormatMMDDYY10.$548,231548231Informat(輸入格式)Format(輸出格式)第2頁(yè)/共73頁(yè)輸入格式輸入格式是SAS系統(tǒng)用來(lái)讀入數(shù)據(jù)值的一個(gè)指令。輸入格式形式
<$>INFORMAT<W>.<D>
選項(xiàng)說(shuō)明:通用規(guī)則:所有輸入格式必須包含一個(gè)點(diǎn)(.)作為名字的一部分;對(duì)于省略W和D值的輸入格式,使用系統(tǒng)缺省值。第3頁(yè)/共73頁(yè)輸入格式使用方法INPUT語(yǔ)句;INPUT函數(shù);
INFORMAT或ATTRIB語(yǔ)句;第4頁(yè)/共73頁(yè)INPUT語(yǔ)句,最常用情況,即格式化輸入格式化輸入方式是INPUT語(yǔ)句讀取非標(biāo)準(zhǔn)數(shù)據(jù)的唯一方法。即在變量名后面規(guī)定輸入格式。這種輸入方式不僅給出了該輸入數(shù)據(jù)所對(duì)應(yīng)的類型,而且給出了輸入數(shù)據(jù)所在列的長(zhǎng)度。語(yǔ)句格式:INPUT<pointer-control>variableinformat.<@|@@>;INPUT<pointer-control>(variable-list)(informat-list)<@|@@>;INPUT<pointer-control>(variable-list)(<n*>informat.)<@|@@>;其中:n*規(guī)定在輸入列表中后面的輸入格式重復(fù)n次。第5頁(yè)/共73頁(yè)INPUT語(yǔ)句例中,從第1列開(kāi)始以$8.格式讀入變量name,第14列開(kāi)始以yymmdd10.格式讀入變量birth,右移1列,從第25列開(kāi)始以5.1讀入變量height例如,dataa;inputname$11.@14birthyymmdd10.@+1height5.1;cards;Wanghuacong1995/06/09178.5Zuosha1996/12/15165.8;proc
print;run;第6頁(yè)/共73頁(yè)INPUT函數(shù)例,字符轉(zhuǎn)換數(shù)值data;x=‘39.8';y=input(x,4.1);put
x=y=;run;例中,INPUT函數(shù)將字符變量X的值39.8,通過(guò)輸入格式4.1轉(zhuǎn)換為一個(gè)數(shù)值39.8,賦給變量Y,因此Y為數(shù)值型變量第7頁(yè)/共73頁(yè)例,數(shù)值轉(zhuǎn)換為字符時(shí)會(huì)產(chǎn)生不正確結(jié)果例中,產(chǎn)生的結(jié)果為255,不正確;除非增加輸入格式的長(zhǎng)度,如y=input(x,$15.);此時(shí),最常用的做法是使用put函數(shù),而不是input函數(shù)data;x=2557898;
y=put(x,$8.);puty;run;data;x=2557898;
y=input(x,$8.);puty;run;第8頁(yè)/共73頁(yè)用INFORMAT語(yǔ)句或ATTRIB語(yǔ)句例,DATA步中用INFORMAT語(yǔ)句dataa;inputname$11.birthheight;informatbirthyymmdd10.height5.1;cards;Wanghuacong1995/06/09178.5Zuosha1996/12/15165.8;proc
print;run;第9頁(yè)/共73頁(yè)輸入格式1、數(shù)值型變量輸入格式幾個(gè)常用的格式:
w.d:讀入標(biāo)準(zhǔn)數(shù)值數(shù)據(jù)
COMMAw.d:用于數(shù)據(jù)中包含逗號(hào)(,)的數(shù)據(jù)形式
DOLLARw.d:用于數(shù)據(jù)前面有美元符($)的數(shù)據(jù)形式說(shuō)明:
w:寬度,表示數(shù)值域所含的列數(shù)。小數(shù)點(diǎn)占一列。
d:小數(shù)位數(shù)。d可以省略。例如:
5.2,表示該變量的數(shù)據(jù)占5列,其中后兩位是小數(shù)位。
注意:一定要弄清數(shù)據(jù)占據(jù)的列數(shù),否則極易出錯(cuò)。第10頁(yè)/共73頁(yè)dataa;inputxcomma7.ycomma7.;cards;12,00234,2312,21021,311;run;proc
print;run;OUTPUT:Obsxy
1
12002
34231
2
2210
21311例1.有如下兩列數(shù)據(jù),數(shù)據(jù)中包有逗號(hào),請(qǐng)建立一個(gè)SAS數(shù)據(jù)集,變量為x、y。12,00234,2312,21021,311數(shù)字7是怎么來(lái)的?第11頁(yè)/共73頁(yè)dataa;inputxcomma7.2ycomma7.4;cards;12,00234,2312,21021,311;run;proc
print;run;OUTPUT:Obsxy
1
120.02
3.4231
2
22.10
2.1311例2.有如下兩列數(shù)據(jù),其中第一列后兩位數(shù)字為小數(shù),第二列后4位為小數(shù),例如第一個(gè)數(shù)據(jù)12,002讀入后應(yīng)為120.02。請(qǐng)建立一個(gè)SAS數(shù)據(jù)集,變量為x、y。12,00234,2312,21021,311第12頁(yè)/共73頁(yè)dataa;inputxdollar8.ydollar8.;cards;$12,002$34,231$2,210$21,311;run;proc
print;run;OUTPUT:Obsxy
1
12002
34231
2
2210
21311例3.有如下兩列數(shù)據(jù),數(shù)據(jù)中包有$和逗號(hào),請(qǐng)建立一個(gè)SAS數(shù)據(jù)集,變量為x、y。(例如$12,002讀入后應(yīng)為12002)$12,002$34,231$2,210$21,311第13頁(yè)/共73頁(yè)dataa;inputxdollar8.2ydollar8.4;cards;$12,002$34,231$2,210$21,311;run;proc
print;run;OUTPUT:Obsxy
1
120.02
3.4231
2
22.10
2.1311例4.有如下兩列數(shù)據(jù),其中第一列后兩位數(shù)字為小數(shù),第二列后4位為小數(shù),例如第一個(gè)數(shù)據(jù)$12,002讀入后應(yīng)為120.02。請(qǐng)建立一個(gè)SAS數(shù)據(jù)集,變量為x、y。$12,002$34,231$2,210$21,311第14頁(yè)/共73頁(yè)$w.輸入格式
讀入標(biāo)準(zhǔn)字符數(shù)據(jù)。在讀入字符值之前,$w.輸入格式清除字符值開(kāi)頭的空格。$w.輸入格式把一個(gè)點(diǎn)(.)轉(zhuǎn)換為空格,因?yàn)樗岩粋€(gè)點(diǎn)看作缺失值。
輸出結(jié)果:xyz
uvw2.字符型變量輸入格式例,讀入數(shù)據(jù)時(shí),清除數(shù)據(jù)開(kāi)頭空格并將(.)轉(zhuǎn)換為缺失值。Dataa;inputname$5.;cards;xyz.uvw;optionsnocenter;proc
noobs;run;第15頁(yè)/共73頁(yè)$CHARw.輸入格式讀含有空格的字符數(shù)據(jù)。$CHARw.輸入格式除了不清除字符值開(kāi)頭的空作格外,它等同于標(biāo)準(zhǔn)的$w.輸入格式。例,保留開(kāi)頭和結(jié)尾的空格。data;inputname$char10.;cards;xyz.uvw;optionsnocenter;proc
noobs;run;INPUT語(yǔ)句采取自由格式輸入時(shí),INFORMAT或ATTRIB語(yǔ)句中不能使用$CHAR.輸入格式,因?yàn)镾AS把空格看作數(shù)據(jù)行中數(shù)值間的分隔符。輸出結(jié)果:xyz.uvw第16頁(yè)/共73頁(yè)$CHARw.:讀取包含空格的連續(xù)字符
例5.下面是一些人名,請(qǐng)將其讀入到一個(gè)變量NAME中,注意:姓和名之間有一個(gè)空格,建立的SAS數(shù)據(jù)集如右邊的形式。BillClintonGeorgeBushTonyBlairSaddamHusseinVladimirPutinObsname1BillClinton2GeorgeBush3TonyBlair4SaddamHussein5VladimirPutin第17頁(yè)/共73頁(yè)dataa;inputname$char14.;cards;BillClintonGeorgeBushTonyBlairSaddamHusseinVladimirPutin;procprint;run;Obsname1BillClinton2GeorgeBush3TonyBlair4SaddamHussein5VladimirPutin如果將char14.去掉,語(yǔ)句改為:inputname$;結(jié)果是什么樣的呢?第18頁(yè)/共73頁(yè)日期和時(shí)間數(shù)據(jù)的存儲(chǔ)SAS采用數(shù)值存儲(chǔ)日期和時(shí)間形式的數(shù)據(jù)。在默認(rèn)情況下,SAS系統(tǒng)以0代表1960年1月1日0時(shí)。其它日期在SAS系統(tǒng)中被存儲(chǔ)為與該日期相差的天數(shù)。例如,1960年1月3日,在系統(tǒng)中存為2。
2004年1月25日,在系統(tǒng)中存為16095。注意:為了使數(shù)值型變量顯示日期形式,必須使用日期型的輸出格式,同樣地為了以日期形式輸入日期必須使用日期型的輸入格式。
3、日期數(shù)據(jù)輸入格式第19頁(yè)/共73頁(yè)日期數(shù)據(jù)的讀入通常需要運(yùn)用日期型的格式第20頁(yè)/共73頁(yè)日期時(shí)間輸出格式日期型數(shù)據(jù)的輸入輸出格式大部份是相同的,下面是幾個(gè)常用的:第21頁(yè)/共73頁(yè)該例中日期數(shù)據(jù)的形式是什么樣的?例6.有如下的日期數(shù)據(jù),請(qǐng)建立一個(gè)SAS數(shù)據(jù)集EX6存儲(chǔ),并以日期的形式顯示出來(lái)。1Jan200203Jan200315/May/200412-FEB-200517*May*%20061**OCT**200730%sep%//2008DDMMMYYYY故選擇DATEw.輸入格式第22頁(yè)/共73頁(yè)datab;inputdddate15.;formatdddate9.;cards;1Jan200203Jan200315/May/200412-FEB-200517*May*%20061**OCT**200730%sep%//2008;proc
print;run;Obsdd101JAN2002203JAN2003315MAY2004412FEB2005517MAY2006601OCT2007730SEP2008第23頁(yè)/共73頁(yè)例7.有如下的日期數(shù)據(jù),請(qǐng)建立一個(gè)SAS數(shù)據(jù)集EX7存儲(chǔ),并以日期的形式顯示出來(lái)。01312002031220035132004421200552520061/2/20073-24-2008該例中日期數(shù)據(jù)的形式是什么樣的?MMDDYYYY故選擇MMDDYY10.輸入格式第24頁(yè)/共73頁(yè)01312002031220035132004421200552520061/2/20073-24-2008datab;inputddmmddyy10.;formatddmmddyy10.;cards;01312002031220035132004421200552520061/2/20073-24-2008;proc
print;run;Obsdd101/31/2002203/12/2003305/13/2004404/21/2005505/25/2006601/02/2007703/24/2008第25頁(yè)/共73頁(yè)輸出格式選項(xiàng)說(shuō)明:
輸出格式是SAS系統(tǒng)用來(lái)輸出數(shù)據(jù)值的一個(gè)指令。
輸出格式形式<$>FORMAT<w>.<d>第26頁(yè)/共73頁(yè)通用規(guī)則:所有輸出格式必須包含一個(gè)點(diǎn)(.)作為名字的一部分;省略W和D的值時(shí),使用系統(tǒng)的缺省值;無(wú)論怎樣規(guī)定輸出格式中的小數(shù)位,輸出格式都不會(huì)影響存貯的數(shù)據(jù)值;規(guī)定的輸出格式寬度太窄小時(shí),對(duì)字符格式截去右邊的字符,對(duì)數(shù)值格式轉(zhuǎn)換為BESTw.的格式;使用一個(gè)不協(xié)調(diào)的輸出格式時(shí),SAS系統(tǒng)首先試著使用其它類型的類似格式。如果行不通,將輸出一個(gè)錯(cuò)誤信息在SAS日志。第27頁(yè)/共73頁(yè)輸出格式類型數(shù)值輸出格式;字符輸出格式;日期時(shí)間輸出格式;使用FORMAT過(guò)程創(chuàng)建的自定義輸出格式。第28頁(yè)/共73頁(yè)輸出格式使用方法DATA步中用FORMAT或ATTRIB語(yǔ)句;
PROC步中用FORMAT或ATTRIB語(yǔ)句。PUT語(yǔ)句;PUT函數(shù);第29頁(yè)/共73頁(yè)FORMAT或ATTRIB語(yǔ)句,最常用方式數(shù)據(jù)步中使用dataa;inputxcomma7.ycomma7.;formatxydollar8.;cards;12,00234,2312,21021,311;run;proc
print;run;過(guò)程步中使用format語(yǔ)句proc
print;formatxcomma7.ydollar8.;run;過(guò)程步中使用attrib語(yǔ)句proc
print;attribxyformat=comma7.;run;第30頁(yè)/共73頁(yè)P(yáng)UT語(yǔ)句在PUT語(yǔ)句中使用輸出格式data;x=1145.32;putxdollar10.2;
putxcomma8.2;run;結(jié)果為:$1,145.321,145.32第31頁(yè)/共73頁(yè)P(yáng)UT函數(shù)PUT函數(shù)對(duì)于將數(shù)值轉(zhuǎn)換為字符,或者改變字符輸出格式dataa;birth=16095;birthtext=put(birth,yymmdd10.);putbirthtext=;putbirth=;run;LOG窗口輸出結(jié)果birthtext=2004-01-25birth=16095第32頁(yè)/共73頁(yè)常用數(shù)值變量輸出格式第33頁(yè)/共73頁(yè)例子dataa;x=123456789;y=1230000;z=12345;putxbest7./ybest7./zbest7.;putx8.2;putx11.2;putx12.2;putydollar8.;putydollar10.;run;Log窗口輸出結(jié)果----+----+----+1.235E81230000
123451.2346E8123456789.0123456789.00$1230000$1,230,000可以看到SAS會(huì)根據(jù)指定的輸出寬度選擇最合適的輸出形式,以滿足指定的寬度。例如,putydollar8.;由于數(shù)據(jù)本身有7位,因此輸出時(shí)僅添加了一個(gè)$符號(hào),而未添加千分位的逗號(hào)(,),見(jiàn)倒數(shù)第二輸出。第34頁(yè)/共73頁(yè)自定義格式使用PROC
FORMAT過(guò)程進(jìn)行格式的自定義。PROCFORMAT;INVALUE格式名格式;VALUE格式名格式;其中,invalue定義輸入格式,value定義輸出格式。第35頁(yè)/共73頁(yè)自定義輸入格式,語(yǔ)法PROC
FORMAT;INVALUE<$>格式名定義的輸入格式;RUN;格式名:應(yīng)符合SAS的命名要求(但不能超過(guò)8個(gè)字符),注意最后一個(gè)字符不能是數(shù)字。定義的輸入格式:原始值=格式化的輸入值當(dāng)格式化的輸入值為字符時(shí),這字符型輸入格式,名字前加$,否則為數(shù)值型輸入格式如,invaluesexinf“F”=1“M”=2;invalue$sexicf“F”=“Female”“M”=“Male”;第36頁(yè)/共73頁(yè)Invalue語(yǔ)句自定義輸入格式2355SOOS588922223878CEEE44090111398533320740SEES2398EECC5162CCCE442132227385CCCN例,下列數(shù)據(jù)中的字母O,S,E,C,N分別賦值為4,3,2,1,0,使用輸入格式讀入數(shù)據(jù),并全部轉(zhuǎn)化為數(shù)值。(5個(gè)變量)第37頁(yè)/共73頁(yè)P(yáng)ROCFORMAT;INVALUEscoref'O'=4
'S'=3
'E'=2
'C'=1
'N'=0
;RUN;首先建立輸入格式(數(shù)值型,等號(hào)右邊為數(shù)值)第38頁(yè)/共73頁(yè)使用自定義的格式scorefdataa;inputidx1scoref.@+1x2scoref.@+1x3scoref.@+1x4scoref.;cards;2355SOOS588922223878CEEE44090111398533320740SEES2398EECC5162CCCE442132227385CCCN;proc
print;run;輸出結(jié)果Obsidx1x2x3x4123553443258892222338781222444090111539853332674032237239822118516211129442132221073851110第39頁(yè)/共73頁(yè)P(yáng)ROCFORMAT;INVALUE$sexf‘M’=‘Male’‘F’=‘Female’;RUN;建立字符型輸入格式datab;inputsex:$sexf.age;cards;F25m22f23F21M23;proc
print;run;輸出結(jié)果:Obssexage1Female252m223f234Female215Male23小寫(xiě)字母未正確替換!第40頁(yè)/共73頁(yè)P(yáng)ROCFORMAT;INVALUE$sexf(upcase)‘M’=‘Male’‘F’=‘Female’;RUN;添加選項(xiàng)upcase,重新運(yùn)行datab;inputsex:$sexf.age;cards;F25m22f23F21M23;proc
print;run;輸出結(jié)果:Obssexage1Female252Male223Female234Female215Male23小寫(xiě)字母正確替換!第41頁(yè)/共73頁(yè)自定義輸出格式,語(yǔ)法PROC
FORMAT;VALUE自定義輸出格式名字定義的格式;RUN;自定義輸出格式名字:應(yīng)符合SAS的命名要求(不能超過(guò)8個(gè)字符),注意最后一個(gè)字符不能是數(shù)字。定義的格式:原始值=格式化的輸出值注:原始值為數(shù)值型,則為數(shù)值型格式;否則為字符型格式,此時(shí)格式名前需加$符號(hào)如:valuetestf
1-5=“1-5”6-<10=“6-10”10-high=“>=10”;valueynf1=“是”2=“否”;value$grpf“A”=“試驗(yàn)組”
“B”=“對(duì)照組”;第42頁(yè)/共73頁(yè)例8.下面是我們班“問(wèn)卷調(diào)查”資料的部份數(shù)據(jù)。變量sex的賦值是:1=Male,2=Female,變量Band46的賦值是:A=增加,B=不變,C=減弱,請(qǐng)建立一個(gè)SAS數(shù)據(jù)集EX8,對(duì)變量sex、Band46進(jìn)行格式化。第43頁(yè)/共73頁(yè)dataqespart;inputid$sexheightweightband46$;cards;cnw1r01 2 154 49 Ccnw1r02 1 169 64 Bcnw1r04 1 169 67 Acnw1r05 2 153 50 Bcnw1r06 2 160 50 Acnw2r02 2 156 46 Acnw2r03 1 173 62 Bcnw2r04 1 168 57 Bcnw2r05 2 155 45 B;run;procprint;run;Obsidsexheightweightband461cnw1r01215449C2cnw1r02116964B3cnw1r04116967A4cnw1r05215350B5cnw1r06216050A6cnw2r02215646A7cnw2r03117362B8cnw2r04116857B9cnw2r05215545B第44頁(yè)/共73頁(yè)P(yáng)ROCFORMAT;VALUEsexfmt
1='Male'
2='Female'
;VALUE$bandfmt
'A'='增加'
'B'='不變'
'C'='減弱'
;RUN;首先建立相應(yīng)的輸出格式上面建立了兩種類型的輸出格式:一種是數(shù)值型的,即sexfmt,要求=號(hào)左邊為數(shù)值型數(shù)值或區(qū)間,如上面的1、2為數(shù)值;另一種是字符型的,即$bandfmt,$表明該格式是字符型,要求=號(hào)左邊為字符或字符區(qū)間,如‘A’
、‘B’、‘C’
。第45頁(yè)/共73頁(yè)DATAqesfmt;SETqespart;FORMATSexsexfmt.Band46bandfmt.;RUN;PROC
Print;RUN;Obsidsexheightweightband461cnw1r01Female15449減弱2cnw1r02Male16964不變3cnw1r04Male16967增加4cnw1r05Female15350不變5cnw1r06Female16050增加6cnw2r02Female15646增加7cnw2r03Male17362不變8cnw2r04Male16857不變9cnw2r05Female15545不變格式化后打印輸出的數(shù)據(jù)對(duì)變量進(jìn)行格式化第46頁(yè)/共73頁(yè)P(yáng)ROCFORMAT;VALUEheighfmt
LOW-<150=‘<150'
150-<155=‘150-155‘155-<160=‘155-160‘160-<165=‘160-165‘165-<170=‘165-170‘170-<175=‘170-175‘175-<180=‘175-180‘180-HIGH=‘>=180‘;RUN;利用格式對(duì)連續(xù)型變量的離散化分組(頻數(shù)表編制)例9.對(duì)“問(wèn)卷調(diào)查”資料中的身高編制頻數(shù)表,組距取5CM,小于150為第一組,150-155為第二組……在數(shù)據(jù)步中運(yùn)用格式:Formatheightheighfmt.;加標(biāo)簽:labelheight=‘身高’;第47頁(yè)/共73頁(yè)Obsclassid身高weight134cnw1l01175-18070.0234cnw1l02175-18070.0334cnw1l03155-16047.0434cnw1l04160-16548.0heightFrequencyPercentCumulative
FrequencyCumulative
Percent150-1551914.181914.18155-1602216.424130.60160-1653828.367958.96165-1702014.939973.88170-1752115.6712089.55175-180107.4613097.01>=18042.99134100.00打印數(shù)據(jù)集的內(nèi)容(部份)用FREQ過(guò)程生成的頻數(shù)表第48頁(yè)/共73頁(yè)SASsystemHelp“索引”輸入“FORMATprocedure”第49頁(yè)/共73頁(yè)列表方式輸入
簡(jiǎn)單列表方式輸入INPUT<pointer-control>variable<$><&><@|@@>;調(diào)整列表方式輸入INPUT<pointer-control>variable<:|&|~><informat.><@|@@>;第50頁(yè)/共73頁(yè)列表方式輸入使用條件輸入數(shù)據(jù)值之間至少有一個(gè)空格隔開(kāi);用小數(shù)點(diǎn)表示表示缺失值;字符型值的默認(rèn)長(zhǎng)度為8個(gè)字節(jié),也可以用LENGTH,ATTRIB,INFORMAT語(yǔ)句規(guī)定長(zhǎng)度;數(shù)據(jù)必須是字符數(shù)據(jù)或標(biāo)準(zhǔn)的數(shù)值數(shù)據(jù)。第51頁(yè)/共73頁(yè)列表方式輸入格式修飾符
‘:’當(dāng)原始數(shù)據(jù)是以空格為分隔符時(shí),要想對(duì)變量值長(zhǎng)度不一致的變量規(guī)定統(tǒng)一長(zhǎng)度就必須用到該格式修飾符。規(guī)定變量值是從非空格列中讀取,直到第一次遇到以下三種情況之一,該變量值的讀取過(guò)程才結(jié)束:下一個(gè)空格列達(dá)到變量預(yù)先設(shè)定的長(zhǎng)度數(shù)據(jù)行結(jié)束第52頁(yè)/共73頁(yè)例,
空格為分隔符時(shí),對(duì)變量值長(zhǎng)度不一致的變量規(guī)定統(tǒng)一長(zhǎng)度。data;InputUniv:$12.Plc$Zip;cards;MITBoston100023TsinghuaUnivBeijing100084;例中,第一個(gè)觀測(cè)變量Univ的值為MIT(只讀3個(gè)字符,因遇到空格而結(jié)束)第二個(gè)觀測(cè)值為T(mén)singhuaUniv(得到先前定義的變量長(zhǎng)度12)。如果只對(duì)變量Univ規(guī)定長(zhǎng)度,而不加格式修飾符(:),在讀入第一條記錄時(shí)就會(huì)出錯(cuò),如果不對(duì)變量Univ規(guī)定長(zhǎng)度,讀入第二條記錄時(shí)就會(huì)只讀入Tsinghua,而不是預(yù)先要讀入的TsinghuaUniv,這是因?yàn)镾AS默認(rèn)的字符變量的存儲(chǔ)長(zhǎng)度就是8個(gè)字節(jié)。第53頁(yè)/共73頁(yè)UnivPlcZipMITBoston100023TsinghuaUnivBeijing100084加格式修飾符(:)不加格式修飾符(:)UnivPlc
ZipMIT
Boston100023
.第54頁(yè)/共73頁(yè)‘&’讀入包含空格的數(shù)據(jù)因?yàn)榭崭袷橇斜碜x入方式默認(rèn)的分隔符,所以,如果要讀入的數(shù)據(jù)值本身包括空格時(shí)就必須用此格式符。注意:數(shù)據(jù)項(xiàng)之間至少兩個(gè)空格例,
空格為分隔符時(shí),字符型輸入值嵌有空格。data;inputname&$12.age;cards;JiangZhu20AnnieZheng31I.Altman60;run;例中,第一個(gè)觀測(cè)name中JiangZhu(包含一個(gè)空格),第二個(gè)觀測(cè)為AnnieZheng(包含一個(gè)空格)。分隔符為兩個(gè)空格。第55頁(yè)/共73頁(yè)‘~’規(guī)定讀入字符值時(shí)保留引號(hào)。此選項(xiàng)只在INFILE語(yǔ)句中與選項(xiàng)DSD一起使用時(shí)才有效。DSD選項(xiàng)的4個(gè)功能:將默認(rèn)分隔符改為逗號(hào);對(duì)于連續(xù)的兩個(gè)分隔符,中間按缺失值處理;將字符變量值的引號(hào)去掉;對(duì)引號(hào)里的分隔符按字符來(lái)對(duì)待。所以INFILE語(yǔ)句中的DSD選項(xiàng)自動(dòng)把數(shù)據(jù)記錄的分隔符設(shè)置為逗號(hào),并且讀入數(shù)據(jù)之前,把字符數(shù)據(jù)中的引號(hào)去掉,若加上“~”就會(huì)保留數(shù)據(jù)中的引號(hào)。第56頁(yè)/共73頁(yè)理解DSD和“~”的作用例,
讀入字符值時(shí)保留引號(hào)datatopics2;infiledatalinesdsd;inputspeakers:$15.title~$40.location&$10.;datalines;Song,"CreditDerivatives",Room329Zhu,"CreditRiskManagement",Room406;proc
print;run;可以看出,“~”包含“:”選項(xiàng)的功能。例中,雖然title變量的長(zhǎng)度是40,而觀測(cè)值得長(zhǎng)度都不到40,仍然可以得到正確結(jié)果。所以“~”包含“:”的功能。
第57頁(yè)/共73頁(yè)把speakers后面的“:”改成了“~”也可以。例如:datatopics2;infiledatalinesdsd;inputspeakers~$15.title~$40.location&$10.;datalines;Song,"CreditDerivatives",Room329Zhu,"CreditRiskManagement",Room406;procprint;run;輸出窗口信息:Obsspeakerstitlelocation1Song"CreditDerivatives"Room3292Zhu"CreditRiskManagement"Room406第58頁(yè)/共73頁(yè)但是,若把title后成的“~”改成“:”,引號(hào)就因?yàn)閐sd選項(xiàng)的存在被去掉。如下:datatopics2;infiledatalinesdsd;inputspeakers:$15.title:$40.location&$10.;datalines;Song,"CreditDerivatives",Room329Zhu,"CreditRiskManagement",Room406;proc
print;run;輸出窗口信息Obsspeakerstitlelocation1SongCreditDerivativesRoom3292ZhuCreditRiskManagementRoom406第59頁(yè)/共73頁(yè)列方式輸入列輸入方式是用來(lái)讀入嚴(yán)格按列排好的標(biāo)準(zhǔn)數(shù)據(jù)INPUT變量名<$>開(kāi)始列-結(jié)束列<.小數(shù)位><@>;條件:同一變量原始數(shù)據(jù)值在相同的列中原始數(shù)據(jù)是標(biāo)準(zhǔn)的數(shù)值格式或一般字符格式特點(diǎn):1.可以按任意順序讀入數(shù)據(jù)
2.字符型數(shù)據(jù)中間可以有空格
3.可以重復(fù)讀取原始數(shù)據(jù)中的某一部份
4.空格和小數(shù)點(diǎn)都作為缺失值處理
5.忽略開(kāi)始和結(jié)尾部分的空格第60頁(yè)/共73頁(yè)按列讀入dataa;inputques$1-17age18-20gender$21-26city$27-34;cards;Iamhereforyou23male大連Areyouthere26female重慶hahamale哈爾濱yesiamhere30female;proc
print;run;第61頁(yè)/共73頁(yè)手機(jī)號(hào)碼信息分解手機(jī)號(hào)碼一編碼規(guī)則一般是:YYY-XXXX-ZZZZ,其YYY為號(hào)段;XXXX一般為所在地區(qū)編碼;ZZZZ為對(duì)應(yīng)的個(gè)人識(shí)別編號(hào)。說(shuō)明:
移動(dòng):134-139、150、151、152、157、158、159、188
聯(lián)通:130、131、132、155、156
電信:133、153、180、1891357851051X1508311759X1327313520X1556443719X1804346016X1513441713X1308279203X1897876466X第62頁(yè)/共73頁(yè)可重復(fù)讀入datab;inputx11-3x24-7x3$8-11x4$1-11;cards;1357851051X1508311759X1327313520X1556443719X1804346016X1513441713X1308279203X1897876466X;proc
prin
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度公寓物業(yè)管理服務(wù)合同模板4篇
- 小學(xué)語(yǔ)文教學(xué)與學(xué)生心理素質(zhì)的雙向提升
- 2025年滬教版九年級(jí)物理上冊(cè)階段測(cè)試試卷含答案
- 2025年外研版必修3物理下冊(cè)階段測(cè)試試卷含答案
- 變壓器買(mǎi)賣(mài)合同范本
- 2025年人教B版選擇性必修1化學(xué)下冊(cè)階段測(cè)試試卷含答案
- 2025年岳麓版選擇性必修2生物上冊(cè)階段測(cè)試試卷含答案
- 2025年冀少新版二年級(jí)語(yǔ)文上冊(cè)階段測(cè)試試卷含答案
- 2025年北師大版必修2物理上冊(cè)階段測(cè)試試卷含答案
- 2025年教科新版第二冊(cè)生物下冊(cè)月考試卷含答案
- 人教版小學(xué)數(shù)學(xué)(2024)一年級(jí)下冊(cè)第一單元 認(rèn)識(shí)平面圖形綜合素養(yǎng)測(cè)評(píng) B卷(含答案)
- 企業(yè)年會(huì)攝影服務(wù)合同
- 電商運(yùn)營(yíng)管理制度
- 二零二五年度一手房購(gòu)房協(xié)議書(shū)(共有產(chǎn)權(quán)房購(gòu)房協(xié)議)3篇
- 2025年上半年上半年重慶三峽融資擔(dān)保集團(tuán)股份限公司招聘6人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 城市公共交通運(yùn)營(yíng)協(xié)議
- 內(nèi)燃副司機(jī)晉升司機(jī)理論知識(shí)考試題及答案
- 2024北京東城初二(上)期末語(yǔ)文試卷及答案
- 2024設(shè)計(jì)院與職工勞動(dòng)合同書(shū)樣本
- 2024年貴州公務(wù)員考試申論試題(B卷)
- 電工高級(jí)工練習(xí)題庫(kù)(附參考答案)
評(píng)論
0/150
提交評(píng)論