版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、SAS數(shù)據(jù)集,1,SAS應(yīng)用,一、SAS數(shù)據(jù)集的概念和結(jié)構(gòu),SAS是處理數(shù)據(jù)的軟件,SAS處理的數(shù)據(jù)必須以數(shù)據(jù)集的形式出現(xiàn)。數(shù)據(jù)集是指使用SAS系統(tǒng)產(chǎn)生的一類具有特殊結(jié)構(gòu)的文件,此類文件是數(shù)據(jù)的特殊組織形式。 “SAS data sets - SAS數(shù)據(jù)集” SAS所能做的任何工作都離不開SAS數(shù)據(jù)集,所以可以這樣說,SAS數(shù)據(jù)集是SAS系統(tǒng)的“心臟”。,2,數(shù)據(jù)步功能:,1將輸入數(shù)據(jù)轉(zhuǎn)化為SAS數(shù)據(jù)集; 2編輯數(shù)據(jù)集中的數(shù)據(jù),檢查和修改數(shù)據(jù)中的錯誤,計算新變量等; 3根據(jù)用戶要求的格式打印數(shù)據(jù),或?qū)?shù)據(jù)寫入磁盤文件; 4從已有的數(shù)據(jù)集中通過取子集、合并、更新等方法產(chǎn)生新的數(shù)據(jù)集。,3,第一節(jié)
2、 SAS數(shù)據(jù)集的建立,4,1SAS數(shù)據(jù)集的名稱,在建立數(shù)據(jù)集時,你必須給它命名。SAS數(shù)據(jù)集的名字可以有1-8個字符,必須以字母或下劃線開始,后面跟英文字母、數(shù)字或下劃線,中間不能有空格。下面這些均是合法的SAS數(shù)據(jù)集名: SALES _TAXES _88FILES QUARTER_1,5,SAS數(shù)據(jù)集組成要素,1數(shù)據(jù)值 數(shù)據(jù)值是構(gòu)成SAS數(shù)據(jù)集的基本單元,數(shù)據(jù)值分為數(shù)值型數(shù)據(jù)、字符型數(shù)據(jù)和日期型數(shù)據(jù)三種類型。 2觀測值 描述一個觀察單位(如一個人,一個地區(qū),一年)特征的一系列數(shù)據(jù)值稱為觀測值。 3變量 具有相同特征的數(shù)據(jù)值的集合組成了變量。 4數(shù)據(jù)集 數(shù)據(jù)集是由若干個觀測值組成的集合。,6,
3、SAS數(shù)據(jù)集的結(jié)構(gòu),OBS NAME SEXSIS2S3 1 WANGBOM797892 2 HEWEI M 966987 3 YANJIN F 988793 4 MALIV F888590 5 HAVHUIM739389 6 ZHOUBINM968789 7 LIMIN F879390 8 SUNYI F798876,7,2SAS數(shù)據(jù)集分為兩種,臨時數(shù)據(jù)集 temporary SAS data sets 永久數(shù)據(jù)集 permanent SAS data sets 所謂臨時數(shù)據(jù)集,是指本次SAS作業(yè)(SAS session)中臨時建立并只在本次SAS作業(yè)中有效的臨時性的數(shù)據(jù)集,退出SAS,臨時
4、數(shù)據(jù)集即消失。 所謂永久數(shù)據(jù)集是存貯在外部存貯介質(zhì)(硬盤、軟盤等)上的數(shù)據(jù)集,不刪除可以長久存在,反復(fù)使用。,8,SAS數(shù)據(jù)集臨時數(shù)據(jù)集,Data aa; Input id x1 x2 x3$; Cards; 153 45 m 2 145 37 f 3 150 40 m ; Proc print; Run;,SAS數(shù)據(jù)集永久數(shù)據(jù)集,Libname md:gw; Data m.aa; Input id x1 x2 x3$; Cards; 1 153 45 m 2 145 37 f 3 150 40 m ; Run;,SAS數(shù)據(jù)集調(diào)用永久數(shù)據(jù)集,libname md:gw; run; /*建永久數(shù)
5、據(jù)集*/ data bb; set m.aa; /*調(diào)用永久數(shù)據(jù)集*/ proc print; run;,3一點說明,建立或調(diào)用一個永久數(shù)據(jù)集,必須使用兩級名規(guī)則。第一級名又叫庫邏輯名(libref),用來表示數(shù)據(jù)集的目錄路徑;第二級名是數(shù)據(jù)集名(filename),用來區(qū)別其它的數(shù)據(jù)集。一級名與二級名用“.”分開, 例如:在以CLINIC為邏輯名的目錄路徑下有一永久數(shù)據(jù)集ADMIT,調(diào)用此數(shù)據(jù)集時,要用兩級名,CLINIC.ADMIT libref filename,12,SAS系統(tǒng)給每個臨時數(shù)據(jù)集自動給予一個叫“work”的一級名,但在引用臨時數(shù)據(jù)集時,不用加“work”字樣(生成臨時數(shù)據(jù)
6、集時,在LOG窗口可以看到臨時數(shù)據(jù)集的全稱)。 故在實際應(yīng)用中,使用單名的數(shù)據(jù)集都是臨時數(shù)據(jù)集,使用兩級名的數(shù)據(jù)集則是永久數(shù)據(jù)集。,13,二、建立SAS數(shù)據(jù)集,14,SAS語句的書寫規(guī)則: 1. 以SAS關(guān)鍵詞(SAS keyword)開頭, 關(guān)鍵詞可以大寫字母可以小寫; 2. 以分號(semicolon)結(jié)尾; 3. 可以從任意行或列開始或結(jié)束; 4. 一條語句可以連續(xù)寫多行; 5. 多條語句可以在同一行; 6. 字與字間(words)用空格分隔; 7. 程序的最后要有“run”語句;,DATA CLASS; INPUT NAME $ SEX $ S1 S2 S2; CARDS; WANGB
7、O M 79 78 92 HEWEI M 96 69 87 ; RUN;,1臨時數(shù)據(jù)集的建立,(1)程序的基本結(jié)構(gòu): DATA 語句; INPUT 語句; 用于數(shù)據(jù)步的其它語句 CARDS; 若干數(shù)據(jù)行 ; RUN;,15,A 直接通過鍵盤輸入數(shù)據(jù),16,OBS NAME SEXSIS2S3 1 WANGBOM797892 2 HEWEI M 966987 3 YANJIN F 988793 4 MALIV F888590 5 HAVHUIM739389 6 ZHOUBINM968789 7 LIMIN F879390 8 SUNYI F798876,例,17,DATA CLASS; INPU
8、T NAME $ SEX $ S1 S2 S2; CARDS; WANGBO M 79 78 92 HEWEI M 96 69 87 YANJIN F 98 87 93 MALIN F 88 85 90 HANHUI M 73 93 89 ZHOUBIN M 96 87 89 LIMIN F 87 93 90 SUNYI F 79 88 76 ; RUN;,(1)DATA語句,語句格式 : DATA 數(shù)據(jù)集名表 選擇項;,18,DATA語句的作用是表明數(shù)據(jù)步的開始,并給出所建數(shù)據(jù)集的名稱。 數(shù)據(jù)集名必須以英文字母開始,最長不超過8個字符。 數(shù)據(jù)集名可以是一個或者多個。DATA語句中,如果不給出
9、數(shù)據(jù)集名,則SAS系統(tǒng)自動以DATA1、DATA2等依次命名所建立的數(shù)據(jù)集。,DATA class;,(2)INPUT語句,19,功能:讀取CARDS語句后的數(shù)據(jù),或從外部數(shù)據(jù)文件讀數(shù)據(jù),并將讀入的數(shù)據(jù)賦給“INPUT”后相應(yīng)的變量; 變量說明主要有以下三種格式: 自由格式 列輸入格式 格式化輸入,格式: INPUT 變量說明;,INPUT NAME $ SEX $ S1 S2 S3;,1)自由輸入格式 是最簡單的數(shù)據(jù)輸入方法,它只需要在INPUT語句中按順序列變量名,而不必了解輸入記錄中數(shù)據(jù)占有哪些列。 語句格式: INPUT 變量名 $; INPUT NAME $ SEX $ S1 S2
10、S2; 注意: INPUT語句中列出的變量的順序與相應(yīng)的輸入數(shù)據(jù)的順序必須一致,$指明左邊的變量為字符型變量。使用列表輸入數(shù)據(jù)必須通過空格分隔。字符型數(shù)據(jù)的長度缺省值是8個字節(jié),如果超過8位可使用LENGTH、ATTRIB、INFORMAT語句重新定義字符串的寬度。,20,列表輸入格式舉例,DATA CLASS; INPUT NAME $ SEX $ S1 S2 S2; CARDS; WANGBO M 79 78 92 HEWEI M 96 69 87 YANJIN F 98 87 93 MALIN F 88 85 90 HANHUI M 73 93 89 ZHOUBIN M 96 87 89
11、 LIMIN F 87 93 90 SUNYI F 79 88 76 RUN;,21,2)列輸入格式 在INPUT語句變量名后須指出相應(yīng)的變量值所處的列號范圍。 語句格式: INPUT 變量名 $ 開始列 -終止列; 開始列 指明該變量要讀取的數(shù)據(jù)的起始列號 終止列 指明該變量要讀取的數(shù)據(jù)的終止列號 例如:INPUT NAME $ 1-8 S1 12-13; 該語句從每個輸入數(shù)據(jù)行的第1列至第8列讀 取字符型變量NAME的值,從第12列至第13 列讀取數(shù)值型變量S1的值。,22,列輸入的特點: 適用于所有輸入行中的同一變量值位于相同的列時; 輸入值可以任何順序讀入,無須考慮它們在輸入記錄中的位
12、置; 例如:INPUT S1 12-13 NAME $ 1-8; 字符型數(shù)據(jù)可包含空格; 字符型數(shù)據(jù)可以最多到200個字符長; 可讀取全部或部分?jǐn)?shù)值。 例如:INPUT ID 10-15 GROUP 13;第10至15列為ID的值,ID的第4個數(shù)字即第13列又是GROOP的值。,23,列輸入格式舉例,DATA CLASS; INPUT NAME $ 1-8 SEX $ 10 S1 12-13 S2 15-16 S2 18-19; CARDS; WANGBO M 79 78 92 HEWEI M 96 69 87 YANJIN F 98 87 93 MALIN F 88 85 90 HANHUI
13、 M 73 93 89 ZHOUBIN M 96 87 89 LIMIN F 87 93 90 SUNYI F 79 88 76 RUN;,24,3)格式化輸入 在INPUT語句變量后給出一個輸入格式,用來說明變量類型和字段的寬度。 語句格式: INPUT 變量名 $ SAS輸入格式; 上面的SAS輸入格式包括一個園點(.)或以(.)結(jié)尾。如6.2,$10.,MMDDyy8.等。格式化輸入特別適用于讀入日期型變量,由于日期表示方法多種多樣,有用MMDDYY形式表示,如031598或03/15/98或03-15-98;也有用DDMMYY形式表示如12JAN97等,為能讀入這些日期型數(shù)據(jù),在SAS
14、系統(tǒng)中設(shè)計了許多輸入格式。,25,格式化輸入舉例(1),DATA INFO; INPUT NAME $ BIRTHDAY MMDDYY8. HEIGHT 5.2; CARDS; WANGBO 02-21-80 175 HEWEI 07/08/79 178 YANJIN 12/16/81 160 MALIN 03 07 81 166 RUN;,26,注意: 格式化輸入時,每讀完一個數(shù)值,數(shù)據(jù)指針移至該數(shù)值后的第一列,接著讀下一個數(shù)。當(dāng)數(shù)據(jù)之間以空格符分隔時,變量寬度的設(shè)置應(yīng)包含數(shù)值的寬度和空格分隔符。如果格式給出的長度不足,則會出現(xiàn)截尾。 數(shù)據(jù)輸出時,一般要用相應(yīng)的格式。 當(dāng)多個變量排列在一起,
15、它們都有相同的長度和類型,用分組格式列表法可簡化輸入。 如X1、X2 X10等10個字符型變量的值緊挨在一起,每個變量長度為3,則可用如下語句讀入 INPUT (X1-X10) ($3);,27,格式化輸入舉例,DATA CLASS3; INPUT DATE YYMMDD10. (X1-X5) (3.); CARDS; 1995-05-20 20 50 30 25 10 1996-07-03 21 40 50 20 8 1996-12-03 19 20 25 10 15 1997-01-15 18 51 42 30 20 RUN;,28,用打印過程(proc print;run;)將其輸出在O
16、UTPUT窗口: OBS DATE X1 X2 X3 X4 X5 1 12923 20 50 30 25 10 2 13333 21 40 50 20 8 3 13486 19 20 25 10 15 4 13529 18 51 42 30 20,29,SAS是用1960年1月1日到變量所表示日期之間的天數(shù)來存儲日期的。上例12923表示1995年5月20日距1960年1月1日12923天。如果要求某變量以某種格式輸出,需要借助SAS輸出格式。 PROC PRINT; FORMAT DATE YYMMDD10.; RUN; PROC PRINT; FORMAT DATE DATE7.; RUN
17、;,30,OBS DATE X1 X2 X3 X4 X5 1 1995-05-20 20 50 30 25 10 2 1996-07-03 21 40 50 20 8 3 1996-12-03 19 20 25 10 15 4 1997-01-15 18 51 42 30 20,31,OBS DATE X1 X2 X3 X4 X5 1 20MAY95 20 50 30 25 10 2 03JUL96 21 40 50 20 8 3 03DEC96 19 20 25 10 15 4 15JAN97 18 51 42 30 20,32,(3)CARDS語句 格式:CARDS; 功能:表明數(shù)據(jù)行的開
18、始與數(shù)據(jù)步的結(jié)束。 (4)RUN語句 格式:RUN; 功能:命令計算機執(zhí)行剛發(fā)送的SAS程序。,33,(5)行保持符“”用法。,DATA B; INPUT X Y ; CARDS; 23.16 12.9 23.71 11.00 22.33 12.21 RUN; OBS X y 1 23.16 12.9 2 23.71 11.0 3 22.33 12.21,34,雙符和單符號的區(qū)別 雙符號表示讀取完一個input語句中所有變量對應(yīng)的一組觀察值后不換行,連續(xù)讀取所有變量對應(yīng)的另一組觀察值,直到全部數(shù)據(jù)讀完為止。 單符號表示讀取完第一個input語句中所有變量對應(yīng)的觀察值后不換行,接著讀取下一個in
19、put語句中所有變量對應(yīng)的觀察值,直到完成一個數(shù)據(jù)步中的所有input語句后再換行讀取下一列的數(shù)據(jù)。 行保持符號缺省表示讀取完一個input語句中所有變量對應(yīng)的觀察值后就換行讀取下一行數(shù)據(jù)。 當(dāng)一個數(shù)據(jù)步僅含有一個input語句時,行保持符號缺省和單符號起的作用相同,35,2從外部數(shù)據(jù)文件讀入數(shù)據(jù),建立SAS數(shù)據(jù)集,除了直接從鍵盤輸入數(shù)據(jù)外,還可以利用已有的外部數(shù)據(jù)文件,將其轉(zhuǎn)化為SAS數(shù)據(jù)集。但這里要求外部數(shù)據(jù)文件必須是ASC碼文本文件。,36,DATA 數(shù)據(jù)集名; INFILE 外部數(shù)據(jù)文件名; INPUT 變量說明; RUN; 其中,INFILE語句是指明從哪一個文件讀入數(shù)據(jù)(用單引號將
20、文件名括起來)。,37,DATA CLASS; INFILE c:FIT.TXT; INPUT age SEX $ height birth; RUN;,12 f 1.25 19801202 13 m 1.35 19791012 11 m 1.11 19811111 16 f 1.42 19760430 13 f 1.56 19790101,格式: FILENAME 數(shù)據(jù)文件邏輯名 外部文件全名; DATA SAS數(shù)據(jù)集名; INFILE 數(shù)據(jù)文件邏輯名; INPUT 變量說明;,38,文本文件test1.dat,,test2.dat 和test3.dat 保存在d: test子目錄中 dat
21、a d1; infile d:testtest1.dat; input age sex $ height birthday yymmdd8. ;run ; Filename aa d:testtest1.dat; data d1; infile aa; input age sex $ height birthday yymmdd8. ;run ; data d2; infile d:testtest2.dat missover; input age 2. sex $1. height 4.2 birthday yymmdd8. ;run; data d3; infile d:testtest3
22、.dat; input age sex $ height birthday yymmdd8. ; run;,39,3 數(shù)據(jù)來自已建立的SAS數(shù)據(jù)集,利用SET語句,可以從一已存在的數(shù)據(jù)集中選出全部或部分?jǐn)?shù)據(jù)組成新的數(shù)據(jù)集,或?qū)?shù)據(jù)作某種處理后寫入新的數(shù)據(jù)集。 格式: DATA 新數(shù)據(jù)集名; SET 原始數(shù)據(jù)集名; 其它語句; RUN;,40,4. 把其它系統(tǒng)的數(shù)據(jù)庫轉(zhuǎn)變成SAS數(shù)據(jù),Excel 數(shù)據(jù),dBASE 數(shù)據(jù),Lotus 數(shù)據(jù)等 啟動SAS系統(tǒng),進(jìn)入SAS 主窗口; File 中選擇Import,進(jìn)入Import Wizard - Select import type 窗口; 在 Im
23、port Wizard - Select import type 窗口的文件格式選擇框中選擇“Execl5 or 7 Spreatsheet (*.xls)”,然后點擊“Next”,進(jìn)入 Import Wizard - Select file 窗口; 在Import Wizard - Select file 窗口上點擊“Browse”,進(jìn)入“打開”窗口;,41,在“打開”窗口的“搜尋”框中選擇文件abc.xls 所在的目錄 D: 和D: 中的文件包test,然后在test 文件包中選擇文件abc.xls,當(dāng)abc.xls 出現(xiàn)在“文件名”框中時,點擊“打開”,返回到Import Wizard
24、- Select file 窗口; 在Import Wizard - Select file 窗口上點擊“Next”,進(jìn)入Import Wizard - Select library and member 窗口; 在library選擇框中選擇SAS數(shù)據(jù)的libname:test,然后在member 選擇框中輸入SAS數(shù)據(jù)的第一級名字:abc, 然后點擊“Finish”。,42,SAS數(shù)據(jù)的保存,臨時數(shù)據(jù)集 數(shù)據(jù)集名(data set name),如,abc1 永久數(shù)據(jù)集 文件名由兩部分組成:數(shù)據(jù)庫邏輯名(libname)+ 數(shù)據(jù)集名(data set name),如,test.abc1。,43
25、,數(shù)據(jù)庫邏輯名的創(chuàng)建,用SAS 語句創(chuàng)建數(shù)據(jù)庫邏輯名 libname 數(shù)據(jù)庫邏輯名 主目錄:子目錄; libname test d:test ; data test.abc1; input age sex $ height birthday yymmdd8. ; cards; 數(shù)據(jù)區(qū) ; run;,44,在SAS 的Libraries 窗口上創(chuàng)建數(shù)據(jù)庫邏輯名,45,如何建立永久數(shù)據(jù)集,建立永久數(shù)據(jù)集的一般步驟: (1)定義一個庫邏輯名代替數(shù)據(jù)集存放的盤符和目錄 (2)在data語句中用二級名命名數(shù)據(jù)集 (3)編寫相應(yīng)的數(shù)據(jù)步語語句并提交系統(tǒng)運行。,46,三、數(shù)據(jù)集的修改與加工整理,(一)賦值語
26、句 利用賦值語句,可以建立新變量,或者修改原變量的觀測值。 語句格式:變量名=表達(dá)式 (1)賦值語句右邊的表達(dá)式應(yīng)是合乎規(guī)定的SAS表達(dá)式。 表達(dá)式中列出的變量必須事先賦值,否則系統(tǒng)以缺省值處理。 (2)賦值號兩邊的變量類型必須匹配。 (3)為字符型變量賦值時,要用引號將字符串括起。如:NAME=ZHANG LIN;,47,(二)求和語句 求和語句又稱累加語句,它能把二個表達(dá)運算結(jié)果加到累加變量上,并作為觀測值送到數(shù)據(jù)集。利用求和語句可以對數(shù)值型變量的觀測值累加求和。 語句格式: 累加變量名+表達(dá)式; 在求和語句中,累加變量的初值被自動設(shè)置為0。累加過程中遇到缺省值時,將缺省值視作0處理。,4
27、8,(三)刪除或保留變量,語句格式:DROP 變量名表; 語句格式:KEEP 變量名表;,49,(四)刪除觀測值 語句格式:DELETE; DELETE用來刪除某些不用的觀測值。執(zhí)行 DELETE語句時,SAS系統(tǒng)將停止處理當(dāng)前的觀 測值,該觀測值不被寫入正在建立的數(shù)據(jù)集中, SAS系統(tǒng)返回DATA步的開始處進(jìn)行下一次執(zhí)行。 DELETE語句通常配合IF-THEN語句使用。,(五)IF語句,(1)IF-THEN語句 語句格式:IF表達(dá)式 THEN語句; (2)IF-THEN/ELSE語句 語句格式:IF表達(dá)式 THEN 語句A; ELSE 語句B; (3)IF語句 語句格式:IF 表達(dá)式;,5
28、0,(六)數(shù)據(jù)排序,語句格式: PROC SORT DATA= OUT= ; BY DESCENDING 變量名;,51,(七)數(shù)據(jù)集縱向連接,語句格式: DATA 新數(shù)據(jù)集名; SET 原始數(shù)據(jù)集名; 1變量相同 所有待連接的數(shù)據(jù)集包含相同的變量,則連接后生成的新數(shù)據(jù)集也包含同樣的變量。 2變量不同 如果待連接的數(shù)據(jù)集包含有不同的變量,新數(shù)據(jù)集將包括所有的變量,并將沒有數(shù)據(jù)的變量值定義為缺省值。,52,(八)數(shù)據(jù)集橫向連接,語句格式: DADA 新數(shù)據(jù)集名; MERGE 原數(shù)據(jù)集名.; 一對一合并 即將序號OBS相同的兩個或多個觀測值合并為一個觀測值,合并后新數(shù)據(jù)集的觀測值個數(shù)與原始數(shù)據(jù)集中
29、觀測值個數(shù)最多的相等,觀測值不足的則用缺省值代替。 匹配合并 參加合并的數(shù)據(jù)集首先按同一的BY變量分別排序,再將有相同BY變量值的觀測值合并成為新數(shù)據(jù)中的觀測值。用以排序的變量稱為匹配變量。,53,第三節(jié) 數(shù)據(jù)輸出,54,用于數(shù)據(jù)輸出的語句主要有,FILE語句; PUT語句; OUTPUT語句; LIST語句。,55,一、FILE語句,作用是定義一個外部文件作為當(dāng)前的輸出文件,以供PUT 語句將數(shù)據(jù)輸出到該文件中。 語句格式:FILE 文件說明 選擇項;,56,文件說明 文件說明用來標(biāo)識一個文件,有下列幾種形式: 1FILE 文件全名; 標(biāo)識文件的完整名字,包括盤符、路徑及文件名, 文件名括在
30、單引號內(nèi)。 2FILE 文件邏輯名; 用文件邏輯名標(biāo)識當(dāng)前的輸出文件。使用前先通過FILENAME語句把輸出文件與它的文件邏輯名聯(lián)系起來。 3FILE LOG; 指定把PUT語句產(chǎn)生的出行寫到SAS日志中。LOG為SAS數(shù)據(jù)步設(shè)置的輸出文件的缺省值。 4FILE PRINT; 指定把PUT語句的內(nèi)容送到標(biāo)準(zhǔn)的SAS打印文件中,即送到OUTPUT窗口。,57,二、PUT語句,在數(shù)據(jù)步中,輸出信息可以使用PUT語句。當(dāng)PUT語句前有FILE語句時,信息被送到由FILE語句定義的外部文件中;當(dāng)PUT語句前無FILE語句時, 信息將輸出到日志窗口。 語句格式: PUT 語句說明; PUT語句的輸出內(nèi)容
31、包括變量值和字符串。,58,(一)變量說明 指明要輸出的變量名及變量的輸出格式。與INPUT語句相似, 變量輸出格式包括列輸出格式,列表輸出格式(或自由格式)和定義格式,另外還可以使用指針控制方式輸出。,59,例14-22 將數(shù)據(jù)集CLASS中全部女生的數(shù)據(jù)輸出 到OUTPUT窗口。,DATA FEMALE; SET CLASS; FILE PRINT; IF SEX=F THEN PUT NAME NAME S1: S1 S2 S2 S3 S3; RUN;,60,輸出結(jié)果:,三、OUTPUT語句,OUTPUT語句的作用是把當(dāng)前的觀測值寫入正在建立數(shù)據(jù)集中。簡單的SAS 數(shù)據(jù)步并不需要OUTP
32、UT語句,因為系統(tǒng)會自動將當(dāng)前輸入的觀測值輸出到正在建立的數(shù)據(jù)集中。只有在下面三種情形下,才會用到OUTPUT語句以控制觀測值的輸出。 從一個輸入數(shù)據(jù)行創(chuàng)建多個觀測值; 從一個輸入數(shù)據(jù)文件創(chuàng)建多個SAS數(shù)據(jù)集; 將多個觀測值合并成一個觀測值。,61,語句格式: OUTPUT 數(shù)據(jù)集名表;,該語句的作用是將當(dāng)前觀測值輸入到語句所規(guī)定的數(shù)據(jù)集中。OUTPUT語句可以給出多個數(shù)據(jù)集的名字,所有給出的數(shù)據(jù)集名一定要在DATA語句中定義過;如果語句后未規(guī)定數(shù)據(jù)名,則當(dāng)前觀測值被寫到程序正在建立的所有數(shù)據(jù)集中。,62,(一)從一個輸入數(shù)據(jù)行創(chuàng)建多個觀測值。,例14-23 某班學(xué)生的考試成績,有姓名及兩個科
33、目的考試分?jǐn)?shù)。要求用這批數(shù)據(jù)建立一個SAS數(shù)據(jù)集,每個姓名后只有一個科目的成績, 即對于每一個輸入行要產(chǎn)生兩個觀測值。,63,DATA REPEAT; INPUT NAME $ S1 S2 ; DROP S1 S2 ; S=S1; OUTPUT; S=S2; OUTPUT; CARDS; WANGBO 97 95 LIMIN 88 90 CHENRYN 75 86,PROC PRINT; RUN;,(二)從一個輸入數(shù)據(jù)文件創(chuàng)建多個SAS數(shù)據(jù)集,例14-24 將數(shù)據(jù)集CLASS分成男生和女生兩個數(shù)據(jù)集。 DATA CLASS1 CLASS2; SET CLASS; IF SEX=M THEN O
34、UTPUT CLASS1; ELSE OUTPUT CLASS2; RUN; 數(shù)據(jù)集CLASS1包含男生的各科目成績,數(shù)據(jù)集CLASS包含女生的各科成績。,64,三)將多個觀察值合并成一個觀測值,例14-25 利用前例中包含學(xué)生科目成績的數(shù)據(jù)集REPEAT, 建立一個只包含每個學(xué)生總成績數(shù)據(jù)集。 PROC SORT DATA=REEPEAT; BY NAME; DATA TOS; SET REPEAT; BY NAME; IF FIRST. NAME THEN SUMS=; SUMS+S; DROP S; IF LAST. NAME THEN OUTPUT; PROC PRINT; RUN;,
35、65,OBS NAME SUMS 1 WANGBO 192 2 LIMIN 178 3 CHENYIN 161,四、LIST語句,LIST語句又稱列表語句。它的作用是將當(dāng)前的輸入數(shù)據(jù)行輸出至LOG窗口,并在輸出的數(shù)據(jù)前面顯示出列標(biāo)尺,以便檢查輸入的數(shù)據(jù)是否有錯誤。,66,四、LIST語句,LIST語句又稱列表語句。它的作用是將當(dāng)前的輸入數(shù)據(jù)行輸出至LOG窗口,并在輸出的數(shù)據(jù)前面顯示出列標(biāo)尺,以便檢查輸入的數(shù)據(jù)是否有錯誤。,67,SAS常量、變量、運算符與函數(shù),68,SAS語言和SAS程序,常量,69,數(shù)值常量 數(shù)值常量由數(shù)字0、小數(shù)點、正負(fù)號和等符號組成。 例如:12 23 1.689E-8(
36、1.68910-8) 數(shù)值常量的缺省值用“ ”來表示。,2字符常量 字符常量由1200個字符組成。在賦值語句中,字符常量要用定界符單引號或雙引號括起來。字符常量的缺省值用空格表示。,70,3日期、時間和日期時間常量 該型常量必須用單引號括起,后續(xù)一個D(Date)、T(Time)或DT(DateTime)表示其類型。,8JAN1999D 表示日期值 10:45T 表示時間值 8JAN99:9:25:14DT 表示日期時間值,例:,變量命名 :變量名由英文字母或下劃線 開頭,后續(xù)1個字符組成。一些特殊字符(如,$,等)不能出現(xiàn)在變量名中。SAS系統(tǒng)還規(guī)定了一些特殊的變量名,例如:_N_,_ERR
37、OR_ 變量特性 變量類型:有數(shù)值型、字符型和日期型三種。 字符型變量在定義時,變量名后面加一“$”號表示。 變量長度:指存儲變量值的字節(jié)數(shù),可用LENGTH語句定義。缺省值是8個字節(jié)。 變量輸入輸出格式,71,變量,命名方式 顧名思義(即根據(jù)英文單詞來命名) sex name age height weight etc. 順序變量 temp1,temp2,temp3,temp4 和 temp5 x1,x2,. X10 var1,var2,. Var10,72,data d; input id age temp1-temp5; temp=sum(of temp1-temp5)/ 5; labe
38、l age =age in years temp =Average temperature; cards; (數(shù)據(jù)) run;,SAS變量的類型,數(shù)值變量(interval variable) 變量的值不含字符 字符變量(norminal ,categorical variable) 變量的值含有字符 日期時間變量(date,time variable) 值為日期時間,73,輸入輸出格式,輸入-用SAS程序?qū)⒃紨?shù)據(jù)轉(zhuǎn)變成SAS系統(tǒng)認(rèn)可的SAS數(shù)據(jù) 輸出-將SAS系統(tǒng)里的SAS數(shù)據(jù)調(diào)出來,完成某指令或任務(wù) 輸入格式-是輸入原始數(shù)據(jù)前,用戶告訴系統(tǒng)每個變量的類型,字符長度或數(shù)據(jù)所在的位置等信息
39、輸出格式-輸出數(shù)據(jù)時用戶希望得到的數(shù)據(jù)形式,74,數(shù)值變量 常用的輸入或輸出格式符號是:w.d 或 w. w 表示變量的字符長度,d 表示變量中小數(shù)的位數(shù) Height 4.2 age 2. 字符變量 常用的輸入或輸出格式符號是 $w. 例如 SEX $1. 日期變量 常用的輸入或輸出格式符號是YYMMDDw. 或 DDMMYYw. 或 MMDDYYw. 或 DATEw. w 表示日期變量中字符的長度 yymmdd8. date8. mmddyy6.,75,*注意SAS的時間表示,SAS的時間輸出格式,注意,當(dāng)輸出時間變量時,輸出格式用yymmdd10. 或 date10. 或不用輸出格式,其
40、輸出的結(jié)果形式是完全不一樣的。例如,20101220的輸出結(jié)果分別是2010-12-20,20DEC2010 和18616。 對于日期變量,如果輸出時不給出輸出格式,那么輸出結(jié)果是一個按日排列得到的常數(shù)。SAS系統(tǒng)規(guī)定1960年1月1日等于1,然后以此類推。例如,1959年1月1日等于-365,1979年1月1日等于常數(shù)6940。,76,77,NAME AGE SEX HEIGHT WEIGHT BUST BIRTHDAY liuyin 4 B 1.06 15.30 51.0 19990503 liuyang 5 G 1.01 15.04 51.9 19980706 huye 5 G 1.02 15.07 52.7 19980614 chengbin 6 G 1.07 17.04 53.7 19970408 yangbin 6 B 1.12 18.09 54.1 19971214 liuhong 6 B 1.14 18.80 53.5 19970424 yanjin 7 G 1.16 19.93 55.5 19960306 zhang 7 G 1.15 18.20 51.4 19960416,SAS變量的類型和輸入輸出格式,DATA CLASS1; INPUT NAME $ AGE SEX $ HEIGHT WEIGHT BUST BIRTHDA
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 某著名企業(yè)山東臨工營銷策略和銷售管理項目建議書004
- 《GBT 14283-2008點焊機器人 通 用技術(shù)條件》專題研究報告
- 《GBT 5121.7-2008銅及銅合金化學(xué)分析方法 第7部分:砷含量的測定》專題研究報告
- 2026版咨詢《決策》章節(jié)習(xí)題 第六章建設(shè)方案與比選
- 道路交通安全心理學(xué)課件
- 2026年九年級語文上冊期末試題(附答案)
- 2025-2026年蘇課新版八年級英語上冊期末考試題庫(附含答案)
- 2026年福建省公務(wù)員試題及答案
- 2026年公務(wù)員時政考試題庫試題解析及答案
- 迪士尼公主介紹課件教案
- 2025年鄭州工業(yè)應(yīng)用技術(shù)學(xué)院馬克思主義基本原理概論期末考試模擬試卷
- 2025年六年級上冊道德與法治期末測試卷附答案(完整版)
- 雨課堂在線學(xué)堂《西方哲學(xué)-從古希臘哲學(xué)到晚近歐陸哲學(xué)》單元考核測試答案
- IPC7711C7721C-2017(CN)電子組件的返工修改和維修(完整版)
- 學(xué)堂在線 雨課堂 學(xué)堂云 研究生學(xué)術(shù)與職業(yè)素養(yǎng)講座 章節(jié)測試答案
- 生理學(xué)期中考試試題及答案
- 京張高鐵現(xiàn)場觀摩會整體策劃方案
- 安捷倫1200標(biāo)準(zhǔn)操作規(guī)程
- 合伙人合同協(xié)議書電子版
- 離婚協(xié)議書下載電子版完整離婚協(xié)議書下載三篇
- 磨床設(shè)備點檢表
評論
0/150
提交評論