




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第三章建立數(shù)據(jù)集SAS系統(tǒng)中建立數(shù)據(jù)集的途徑主要有三種:●使用傳統(tǒng)的SAS數(shù)據(jù)步程序●用SAS/FSP軟件中的FSEDIT和FSVIEW過程●使用SAS/ACCESS軟件訪問其他的數(shù)據(jù)庫1第三章建立數(shù)據(jù)集3.1利用數(shù)據(jù)步程序建立SAS數(shù)據(jù)
3.1.1利用數(shù)據(jù)步創(chuàng)建SAS數(shù)據(jù)集的三種方式
1.從程序中直接讀入數(shù)據(jù)●DATA語句,啟動一個數(shù)據(jù)步,命名數(shù)據(jù)集●INPUT語句,描述如何讀入每一條記錄(觀測)
●CARDS語句,提供要輸入的數(shù)據(jù)2.將外部原始數(shù)據(jù)文件轉(zhuǎn)換成SAS數(shù)據(jù)集●DATA語句,啟動一個數(shù)據(jù)步,命名數(shù)據(jù)集
●INFILE語句,指定存儲有要讀入數(shù)據(jù)的文件
●INPUT語句,描述如何讀入每一條記錄3.利用已有的數(shù)據(jù)集創(chuàng)建新的SAS數(shù)據(jù)集●DATA語句,啟動一個數(shù)據(jù)步,命名數(shù)據(jù)集●SET/MERGE/UPDATE語句,連接/合并/修改已有的數(shù)據(jù)集2第三章建立數(shù)據(jù)集3.1.2常用數(shù)據(jù)步語句簡介 1.DATA語句
語句格式:
DATA<數(shù)據(jù)集名表>;
DATA語句的作用是表明數(shù)據(jù)步的開始,并給出所建數(shù)據(jù)集的名稱。所有的數(shù)據(jù)集名都是由半角符號“.”分隔的兩部分組成。第1部分稱作1級名(libname或庫邏輯名),它標(biāo)識數(shù)據(jù)集所存貯的位置;第2部分(2級名)標(biāo)識特定的數(shù)據(jù)集。如:DATAA;
則建立名為WORD.A的數(shù)據(jù)集(臨時)。3第三章建立數(shù)據(jù)集臨時數(shù)據(jù)集:不指定1級名,使用WORK??諗?shù)據(jù)集: 使用_NULL_數(shù)據(jù)集名,不建立數(shù)據(jù)集。
DATA_NULL_;A=SIN(3.1415/4);B=INT(A*100);PUTAB; RUN;自動命名: 不給出數(shù)據(jù)集名,則SAS自動以DATA1,DATA2等依次命名。
DATA;當(dāng)前數(shù)據(jù)集: 最后建立的數(shù)據(jù)集。4第三章建立數(shù)據(jù)集DATAD1;INPUTAB;CARDS;3579;RUN;DATAD2;INPUTCD;CARDS;131517192123;RUN;
PROCPRINT;RUN;PROCPRINTDATA=D1;RUN;5第三章建立數(shù)據(jù)集2.INPUT語句 用來描述在輸入記錄中的數(shù)據(jù),并把輸入值賦給相應(yīng)的變量。語法:INPUT<變量列表>;Input語句中變量使用三種輸入數(shù)據(jù)方式:列表輸入列輸入格式化輸入6第三章建立數(shù)據(jù)集(1)列表輸入在Input語句中,變量只簡單列出變量名在數(shù)據(jù)中,數(shù)據(jù)由空格分隔。字符數(shù)據(jù)默認長度為8,若讀入長數(shù)據(jù),需用length語句。例:Inputname$agesex$S1S2S3;優(yōu)點:簡單易用。缺點:1)變量順序必須與數(shù)據(jù)順序一致。2)不能有選擇的讀入數(shù)據(jù),只能按順序輸入。 如:有ABCDE,如只想輸入ABD,不能跳過C。3)不能輸入帶有空格的數(shù)據(jù)。注意:缺項值用“.”表示。7第三章建立數(shù)據(jù)集(2)列輸入在Input語句中,變量名后指出變量值所處的列號。在數(shù)據(jù)中,同一變量的數(shù)據(jù)應(yīng)位于相同的列上。例:Inputname$1-8count10-12;cards;zhangsan101Lisi102優(yōu)點:1)輸入值可以以任何順序讀入:INPUTFIR73-80SEC10-12;2)字符型數(shù)據(jù)中可包含空格3)字符型數(shù)據(jù)可以最多到200個字符長4)可讀取全部或部分數(shù)值:INPUTID10-15GROUP13;缺點:數(shù)據(jù)必須嚴格按照列位置輸入。注意:所讀取列中只有空格或“.”時,被作為缺項值。8第三章建立數(shù)據(jù)集(3)格式化輸入在Input語句中,變量名后給出一個輸入格式。輸入格式用來說明變量的數(shù)據(jù)類型和字段的寬度。在數(shù)據(jù)中,數(shù)據(jù)一般要求列對齊。例:INPUTNAME$10.H4.2;
適合輸入日期型數(shù)據(jù):DATADAYS;INPUTNUM$BIRTHDAYMMDDYY8.TESTDAYDATE10.WT;CARDS;10017-21-963MAR9710100210/30/9614/JAN/974100306199613JUN19979100403079729AUG973;RUN;
9第三章建立數(shù)據(jù)集注意:●格式化讀入時,讀數(shù)據(jù)指針按給出的格式長度移動。MMDDYY8.
格式讀入日期值時,日期值最長占8列。如格式給出的長度不足,則會出現(xiàn)數(shù)據(jù)截尾。DATE10.
格式是按ddmmmyy的格式讀入數(shù)據(jù)的,最長可讀入10列?!袢掌谠赟AS系統(tǒng)中的表示是用1960年1月1日至讀入那一天之間的天數(shù)表示的。如讀入的日期在1960年以前,則用負數(shù)表示。這種表示便于進行計算?!褫敵鰰r一般要用相應(yīng)的格式,詳見8.(3)中FORMAT語句?!?/p>
簡化輸入:如有X1,X2......X10十個字符型量的值緊挨在一起,每個量長度為3,則:
INPUT(X1-X10)($3.);10第三章建立數(shù)據(jù)集(4)利用指針控制讀數(shù)據(jù)的位置
SAS中提供行指針和列指針,用來指出下一輸入位置。1)列指針控制:把指針移向你規(guī)定的列。格式:
@n;@指針變量;@(表達式);@‘字符串’;@字符變量;@(字符表達式);+n;+指針變量;+(表達式)。
絕對指針控制“@”把指針移到所要求的列,在@后面跟著列號、變量或求值結(jié)果為列號的表達式。如:
INPUT@15SALES5.;
相對指針控制“+” 相對指針控制是把指針由當(dāng)前位置移動規(guī)定的列數(shù)。如:
INPUT@23DEP$4.+5W$1.;
在第32列讀取W的值。11第三章建立數(shù)據(jù)集
讀取數(shù)據(jù)后列指針的定位讀完數(shù)據(jù)后指針的位置取決于使用的輸入方式。 當(dāng)使用列表輸入時指針移向被取值后的第2列,并從下一非空格列讀下一數(shù)據(jù)。當(dāng)使用列輸入或格式化輸入時,指針移到所取值后的第1列,并從此列開始計算下一變量的長。如:
INPUTA3-4B;
或INPUT@3A2.B;
讀完值后,指針移到第5列。 不論什么時候,一旦指針移向新的記錄行,列指針都自動置為1。12第三章建立數(shù)據(jù)集2)行指針控制移動指針到指定的行數(shù)。四種行指針控制:#n,#指針變量,#(表達式)及/。當(dāng)一個觀測值的數(shù)據(jù)多于1行時,輸入時要指出行號及每個觀測值所占的行數(shù)??墒褂?表示移下一行。#n表示某一觀測值的第幾行。
如一個觀測值由3行數(shù)據(jù)組成,各數(shù)據(jù)間以空格間隔,欲輸入第一行5個數(shù)據(jù)中開始的4個數(shù)據(jù)NUM,A1-A3,再讀入第二行開始的4個數(shù)據(jù),則:
INPUTNUM1A1-A3/NUM2B1-B3#3;或 INPUTNUM1A1-A3#2NUM2B1-B3#3;
最后的#3表示將行指針移至最后一行(第3行),下一次執(zhí)行INPUT語句時,
指針就從此行下跳一行,從下一記錄的第一行讀起。
13第三章建立數(shù)據(jù)集3)行保持符(又稱續(xù)行符)行保持符使行指針保持在當(dāng)前輸入行。有兩種行保持說明符:@和@@。
通常一條INPUT語句執(zhí)行完后,
下一次執(zhí)行時,
要跳至下一數(shù)據(jù)行去讀。@:表示INPUT語句執(zhí)行完后不換行,下一INPUT語句從下面接著讀入。在一個DATA步有多個
INPUT語句時用@作續(xù)行符。@@:限制讀數(shù)據(jù)指針,使其保持在原行上,直到該行數(shù)據(jù)讀完。從一行讀入多個觀測值時,應(yīng)使用續(xù)行符@@。14第三章建立數(shù)據(jù)集3.INFILE語句
指定從外部的純文本文件中讀入數(shù)據(jù)。如:
INFILE‘C:FIT.TXT’;用法:不使用CARDS語句,數(shù)據(jù)單獨存放。DATAD1;INPUTNUM$1-4SEX$5H6-9W10-11;CARDS;1001F1.67481002M1.7360RUN;DATAD1;INFILE‘C:FIT.TXT'INPUTNUM$1-4SEX$5H6-9W10-11;RUN;15第三章建立數(shù)據(jù)集 當(dāng)數(shù)據(jù)文件中某一記錄的數(shù)據(jù)數(shù)少于需要讀的記錄數(shù),或最后一列無數(shù)據(jù)時,SAS則到下一行開頭去讀入數(shù)據(jù),這樣就會出現(xiàn)輸入錯誤,發(fā)生數(shù)據(jù)混亂。LOG窗口會顯示一段信息:
Note:SASwenttoanewlinewheninputstatementreachedpasttheendofaline.此時需在INFILE語句后面加上一個選擇項MISSOVER,如:
INFILE'A:FIT.TXT'MISSOVER;16第三章建立數(shù)據(jù)集4.SET語句
利用SET語句,可以從一已存在的數(shù)據(jù)集中依次讀入每一個觀測值。對數(shù)據(jù)作某種處理后,寫入數(shù)據(jù)集。如:
DATASCORE1;INPUTNUMS1-S3;CARDS;100178899210028792971003647488;DATATOT;SETSCORE1;TOTAL=SUM(OFS1-S3);PROCPRINT;
RUN;17第三章建立數(shù)據(jù)集5.賦值語句
計算產(chǎn)生新的變量值或者修改某一變量值,如:
Z=X+Y;Y=Y+1;注意: ①如果表達式中的變量有缺項值,則結(jié)果有時為缺項值。如:A=.;B=A+5;C=SUM(A,5);②為字符型變量賦值時,要用引號將字符串括起,如:NAME='ZHANGLIN';
如果一個字符常量中包含有一個單引號,在SAS表達式中要寫成兩個連讀的單引號或者外面用雙引號。如:
NAME='TOM''S'或NAME="TOM'S"18第三章建立數(shù)據(jù)集6.求和語句
在建數(shù)據(jù)集時,如果希望對某一變量求累加值,可用求和語句。如:DATAA;INPUTXY@@;S+X;CARDS;35792021;PROCPRINT;RUN;
在求和語句中,累加和變量的初值被SAS自動設(shè)為0。19第三章建立數(shù)據(jù)集7.刪除和保留變量
(1)
DROP語句格式:DROP變量表;
DROP語句指明某些變量不包括在建立的數(shù)據(jù)集中。但是這些變量可在該數(shù)據(jù)步的所有編程語句中使用。在DATA步中,DROP語句位于任何地方所產(chǎn)生的效果都相同。DATAPARTS;INPUTNAME$S1S2;TOTAL=S1+S2DROPS1S2;CARDS;
zhanglin7889
wangqiang9587
20第三章建立數(shù)據(jù)集(2)
KEEP語句格式:KEEP變量表;如:KEEPNAMEAVG; KEEP語句說明在正被建立的數(shù)據(jù)集中包括哪些變量。 在KEEP語句中不包括的變量仍適用于其它程序語句。KEEP語句可出現(xiàn)在DATA步的程序語句中的任何位置,它是非執(zhí)行語句。
KEEP語句的作用與DROP語句正相反。在同一DATA步中,不要同時使用KEEP語句和DROP語句。
21第三章建立數(shù)據(jù)集8.提供信息的幾個語句
(1)
LENGTH語句當(dāng)一個字符型變量長度超過或不用缺省值8時,可用該語句指出變量的長度。如:
DATAA;LENGTHNAME$13;INPUTNAMESEX$HW;CARDS;ZhangZhihuiF1.7052ZhaoChangtaiM1.7355;
由于NAME變量已在LENGTH語句中定義為字符型量,故INPUT語句中可不再用$號作定義。22第三章建立數(shù)據(jù)集(2)
LABEL語句 變量名不許超過8個字符長。使用LABEL語句給變量一個標(biāo)記,標(biāo)記長可達40個字符。它與變量值同時存于數(shù)據(jù)集中,它可以被許多SAS過程打印出來。如:
DATAD;INPUTNUM$SEX$HW;LABELH='HEIGHT'W='WEIGHT';CARDS;101M1.7261102F1.6852;PROCPRINTLABEL;注意:PRINT過程的PROCPRINT語句中應(yīng)加LABEL選擇項。23第三章建立數(shù)據(jù)集(3)
FORMAT語句 指定變量的輸出格式。 對于日期時間型變量必須指定其格式。如:
DATAEMPLO;INPUTNAME$TDATE7.;FORMATTWORDDATE.;CARDS;ZHONGLI15JAN84LIUWEI03MAR85 ;PROCPRINT;FORMAT語句把SAS輸出格式WORDDATE.和變量T聯(lián)系起來。
24第三章建立數(shù)據(jù)集(4)
MISSING語句格式:MISSINGvalues; MISSING語句表明:在錄入的數(shù)據(jù)中的某些值代表數(shù)值型數(shù)據(jù)的缺項值。
例如,假設(shè)字母“A”代表在調(diào)查時家中無人,字母“R”代表拒絕回答。
DATASURV;MISSINGAR;INPUTIDANSWER@@;CARDS;100121002R100311004A10052;MISSING語句規(guī)定,在錄入的數(shù)據(jù)行中,值A(chǔ)和R被認為是特殊的缺項值,而不是無效的數(shù)值型數(shù)據(jù)值。
25第三章建立數(shù)據(jù)集(5)注釋語句
在語句開頭加一個星號,就表示該語句的內(nèi)容是注釋信息而不予執(zhí)行。如:
*-example--;data;labeln="name"h="height";inputnumn$h;cards;1001zhang31.731002li41.82;
對于大段信息的注釋,可用/*放在信息的開頭,將*/放在注釋信息的尾部。
26第三章建立數(shù)據(jù)集3.2FSEDIT和FSVIEW過程SAS/FSP軟件的FSEDIT和FSVIEW過程 以窗口的形式,交互地建立、編輯和顯示數(shù)據(jù)集。變量及數(shù)據(jù)一目了然,用戶可形象、細致地了解數(shù)據(jù)集的組成,交互性的操作如同編輯、瀏覽標(biāo)準(zhǔn)的數(shù)據(jù)庫一般。FSEDIT和FSVIEW過程的調(diào)用 (1)在PROGRAMEDITOR窗口的過程步中寫出,然后SUBMIT。 (2)在命令框中輸入FSEDIT或FSVIEW命令,調(diào)出相應(yīng)的窗口。27第三章建立數(shù)據(jù)集3.2.1用FSEDIT過程建立SAS數(shù)據(jù)集PROCFSEDITNEW=SAS數(shù)據(jù)集名;
RUN;
(1)FSEDITNEW窗口(2)定義所有變量及屬性Name:變量的名字Type:類型,N或空格代表數(shù)字型,C或$代表字符型。
Length:長度,字符型變量不超過200,缺省值為8。
Label:標(biāo)簽,長度為1~40的字符串,用以說明該變量。
Format:變量的輸出格式。
Informat:變量的輸入格式在頂行菜單或在右鍵快捷菜單中選擇Locals,再選擇Format/informat,可轉(zhuǎn)換Format/Informat欄。28第三章建立數(shù)據(jù)集
(3)當(dāng)定義完所有變量及屬性后,在命令框中發(fā)布END命令,就進入FSEDIT記錄編輯窗口。ADD命令可添加記錄,在編輯窗口中就可以輸入、編輯數(shù)據(jù)。(F5,ADD按鈕)CANCEL命令可放棄當(dāng)前的輸入。其他編輯按鈕:
Save,Copy,Delete,Previous,Next等。END命令結(jié)束輸入,保存數(shù)據(jù)集,退出窗口。
29第三章建立數(shù)據(jù)集3.2.2用FSEDIT過程修改SAS數(shù)據(jù)集1.用FSEDIT過程修改數(shù)據(jù)集的一般格式
PROCFSEDITDATA=SAS數(shù)據(jù)集名;
RUN;2.常用操作方法
(1)修改前后翻頁:FORWARD,BACKWARD命令或PgUp,PgDn鍵。移動光標(biāo):鼠標(biāo)及↑↓←→鍵。(2)獲取子集
發(fā)布WHERE命令來獲得數(shù)據(jù)集的一個子集。如:WHEREFLIGHT='123'30第三章建立數(shù)據(jù)集(3)
添加、刪除記錄 使用ADD和DELETE命令添加或者刪除記錄。(4)
退出 發(fā)布END命令結(jié)束修改,保存數(shù)據(jù)集,退出當(dāng)前窗口。31第三章建立數(shù)據(jù)集3.2.3用FSVIEW過程瀏覽SAS數(shù)據(jù)集1.用FSEDIT過程瀏覽數(shù)據(jù)集的一般格式
PROCFSVIEWDATA=SAS數(shù)據(jù)集名;
RUN;2.常用操作方法
(1)瀏覽前后翻頁:FORWARD,BACKWARD命令或PgUp,PgDn鍵。左右翻屏:
RIGHT,LEFT命令或使用滾動條。(2)選擇變量
DROP命令可以去掉不需要顯示的變量,如:DROPLIQUORSOFDRNK32第三章建立數(shù)據(jù)集(3)
獲取子集發(fā)布WHERE命令,如:WHEREBEER>12WHEREALSO命令可以獲得一個子集的子集,如:WHEREALSOBEER>14WHEREUNDO:取消剛才發(fā)布的WHERE命令。(4)
FSVIEW窗口中的EDIT按鈕(5)
退出 最后發(fā)布END命令退出FSVIEW窗口。
FSVIEW也可以用來修改SAS數(shù)據(jù)集,它和FSEDIT的主要區(qū)別是:FSEDIT每屏只顯示一條觀測,而FSVIEW則以表的形式每屏顯示盡可能多的觀測。33第三章建立數(shù)據(jù)集3.3用SAS/ASSIST建立、管理數(shù)據(jù)集
3.3.1啟動SAS/ASSIST方法:
●直接按工具欄中的SAS/ASSIST按鈕。
●從菜單Globals中選擇SAS/ASSIST。
●在命令框中輸入ASSIST命令。 在SAS/ASSIST主菜單中點擊DATAMGMT按鈕,進入數(shù)據(jù)管理窗口。
34第三章建立數(shù)據(jù)集3.3.2建立SAS數(shù)據(jù)集1.在數(shù)據(jù)管理菜單中單擊CREATE/IMPORT按鈕。2.在CREATE/IMPORT菜單中點Enterdatainteractively。3.在輸入方式選擇菜單中選一種方式。4.在建新數(shù)據(jù)集窗口中輸入數(shù)據(jù)集的名稱及類型。5.在數(shù)據(jù)集定義窗口中定義所有變量及屬性。6.進入FSEDIT或FSVIEW窗口輸入具體數(shù)據(jù)。7.END退出,單擊goback按鈕返回。35第三章建立數(shù)據(jù)集3.3.3編輯、瀏覽數(shù)據(jù)集
1.在數(shù)據(jù)管理菜單中單擊EDIT/BROWSE按鈕。2.在編輯/瀏覽選擇菜單中選擇Editdata(編輯)。3.選擇方式Tabularformat或Singleobservation。4.在數(shù)據(jù)集選擇窗口中選擇一個數(shù)據(jù)集。5.進入FSEDIT或FSVIEW窗口編輯。6.END退出。按goback按鈕返回。
進行瀏覽操作就在上面第2步選擇Browsedata
,再選擇瀏覽類型、數(shù)據(jù)集,就可進行瀏覽。36第三章建立數(shù)據(jù)集3.4使用VIEWTABL
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 面包銷售合同
- 技術(shù)服務(wù)合同范本簡單版2
- 教科版高中信息技術(shù)必修教學(xué)設(shè)計-1.1.2 信息的一般特征
- 《除數(shù)是一位數(shù)的除法》(教學(xué)設(shè)計)-2023-2024學(xué)年三年級下冊數(shù)學(xué)人教版
- 第一課 中學(xué)時代 教學(xué)設(shè)計-2023-2024學(xué)年統(tǒng)編版道德與法治七年級上冊
- Unit 3 Family Ties PresentingIdeas 英文版教學(xué)設(shè)計 - 2024-2025學(xué)年外研版(2024)七年級英語上冊
- 耕地轉(zhuǎn)讓合同模板(8篇)
- 認識地球資源(教學(xué)設(shè)計)-2023-2024學(xué)年六年級下冊綜合實踐活動安徽大學(xué)版
- 第4課時 探究與發(fā)現(xiàn):三角形邊的關(guān)系(教學(xué)設(shè)計)-2023-2024學(xué)年四年級下冊數(shù)學(xué)北師大版
- Unit 2 Hobbies Welcome to the unit 第一課時 教學(xué)設(shè)計 2024-2025學(xué)年譯林版英語七年級上冊
- 電影《白日夢想家》課件
- 丙戊酸鈉與中樞神經(jīng)系統(tǒng)損傷保護的研究進展
- 中華人民共和國建筑法
- 小紅書的運營技巧培訓(xùn)
- 充電樁項目簡介(范文)
- 新版中國食物成分表
- 《ISO 41001-2018 設(shè)施管理- 管理體系 要求及使用指南》專業(yè)解讀與應(yīng)用指導(dǎo)材料之9:“6 策劃-6.2 設(shè)施管理目標(biāo)及其實現(xiàn)的策劃”(雷澤佳編制-2024)
- 繪本閱讀促進幼兒分享與合作行為發(fā)展的研究分析-以中班為例 學(xué)前教育專業(yè)
- 圍手術(shù)期患者安全管理規(guī)范及制度
- 清華版小學(xué)五年級下冊信息技術(shù)三維目標(biāo)教案全冊
- 《電力機車制動系統(tǒng)檢查與維護》-課件-項目4-CCBⅡ制動機檢查與操作
評論
0/150
提交評論