SAS (統計分析軟件)課件:第5章 數據步讀入原始數據_第1頁
SAS (統計分析軟件)課件:第5章 數據步讀入原始數據_第2頁
SAS (統計分析軟件)課件:第5章 數據步讀入原始數據_第3頁
SAS (統計分析軟件)課件:第5章 數據步讀入原始數據_第4頁
SAS (統計分析軟件)課件:第5章 數據步讀入原始數據_第5頁
已閱讀5頁,還剩22頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第5章 數據步讀入原始數據原始數據分類 原始數據一般分為字符和數值兩種類型,數值數據又分為標準數值數據和非標準數值數據。標準數據是由字符或者數值組成的可以被列表、列、格式化、命名輸入方式讀入的數據如ARKANSAS,1166.42。非標準數據只能在輸入格式的幫助下讀入的數據。如非標準的數值數據,可能包含逗號,空格等符號。日期和時間數值。十六進制和二進制數值。標準數值數據只包含數字,小數點或負號。非標準數值數據則包含其它的特殊字符,如千分號,美元符號等。 讀取數值數據的規則數值前面的括號或者減號符號表示該數值為負。首位有一個或者多個零不影響對相應變量的賦值。SAS不把數值尾部的空格默認為0。數值

2、數據的前后都可以有空格,但是數字中間不能有(除非用COMMA. 或BZ.格式讀入)。字符數據 字符數據是由一系列字符組成的數據。下面任一種情況下,INPUT語句認定讀入變量的值是字符值。INPUT語句中變量名后跟一個美元符號$;使用字符輸入格式;要讀入數據的變量已經被定義為字符值。原始數據呈現形式 原始數據的呈現形式一般分為呈現在SAS編輯窗口的數據行,和儲存在外部文件中的原始數據例5.1 編輯窗口下,數據行形式的原始數據。data weight; input PatientID $ Week1 Week8 Week16; loss=Week1-Week16; datalines;2477 1

3、95 177 1632431 220 213 1982456 173 166 1552412 135 125 116;例5.2 儲存在外部文件中的原始數據,TXT文本格式。-1-22477 195 177 1632431 220 213 1982456 173 166 1552412 135 125 116使用INPUT語句讀入原始數據 INPUT語句的用途有兩方面:讀入外部數據文件中的數據;讀入CARDS語句后面的數據。 INPUT語句的五種輸入方式 簡單方式:INPUT ; 列方式:INPUT variable start-column ; 格式化方式:INPUT variable inf

4、ormat. ; INPUT (variable-list) (informat-list) ; INPUT (variable-list) ( informat.); 列表方式:INPUT variable ; INPUT variable ; 命名方式:INPUT variable= ; INPUT variable= start-column ; INPUT variable=informat. ; 選項說明specification(s)變量及其格式的詳細說明variable-list列出要讀入數據值的變量執行下一個INPUT語句時指針移到下一記錄行,要求一條記錄必須對應一個數據行執行

5、下一個INPUT語句時指針保持在當前記錄行,不要求一條記錄對應一個數據行$ 定義字符型變量start-column規定變量值在記錄行中的起始列end-column規定變量值在記錄行中的終止列decimalplaces小數點位置pointer-control 移動輸入指針到指定的行或列上informat 列出變量的輸入格式;informat-list -列出變量列表對應的輸入格式列表decimals規定小數部分的位數列方式輸入 語句格式INPUT variable start-column ; 設定變量名稱,為可選項,如果選擇$則表示這是一個字符變量。而start-column 表示該變量在記錄

6、行中的起始列(終止列)。例5.3 使用列方式輸入數據。data scores;infile datalines truncover;input name $ 1-10 sex $11 age 12-15 ;datalines;Justine F 12Bob M 13;-+-1-+-2-+-3-+- 例中,規定記錄行的第1到10列為變量NAME的輸入值,11列為變量SEX的輸入值,12到15列為變量AGE的輸入值。NAME和SEX為字符型變量。列方式輸入使用條件原始數據輸入值的位置在每個記錄行相同的列中; 原始數據輸入值是標準的數值格式或一般字符格式。列方式輸入的特點原始數據輸入值可以按任意順序

7、讀取;字符型原始數據中間可以有空格;可以重復讀取原始數據記錄行的某一部分。讀入的數據值不需要用空格或者其它分隔符隔開。列表方式輸入 簡單列表方式輸入INPUT variable ; 調整列表方式輸入INPUT variable ;列表方式輸入使用條件輸入數據值之間至少有一個空格隔開;用小數點表示表示缺失值;字符型值的默認長度為8個字節,也可以用LENGTH, ATTRIB, INFORMAT語句規定長度;數據必須是字符數據或標準的數值數據。列表方式輸入格式修飾符 :當原始數據是以空格為分隔符時,要想對變量值長度不一致的變量規定統一長度就必須用到該格式修飾符。規定變量值是從非空格列中讀取, 直到

8、第一次遇到以下三種情況之一,該變量值的讀取過程才結束: 下一個空格列; 達到變量預先設定的長度(如果沒有預先設定變量長度就是SAS默認字符長度8個字節); 數據行結束。例5.5 空格為分隔符時,對變量值長度不一致的變量規定統一長度。data;input Univ : $12. Plc$ Zip ;cards;MIT Boston 100023 TsinghuaUniv Beijing 100084;例中,第一個觀測變量Univ的值為MIT(只讀3個字符,因遇到空格而結束)第二個觀測值為TsinghuaUniv(得到先前定義的變量長度12)。如果只對變量Univ規定長度,而不加格式修飾符(:),

9、在讀入第一條記錄時就會出錯,如果不對變量Univ規定長度,讀入第二條記錄時就會只讀入Tsinghua,而不是預先要讀入的TsinghuaUniv,這是因為SAS默認的字符變量的存儲長度就是8個字節。UnivPlcZipMITBoston100023TsinghuaUnivBeijing100084加格式修飾符(:)不加格式修飾符(:)UnivPlc ZipMIT Boston 100023 .&字符型輸入值可能包含一個或幾個空格。因為空格是列表讀入方式默認的分隔符,所以,如果要讀入的數據值本身包括空格時就必須用此格式符。例5.6 空格為分隔符時,字符型輸入值嵌有空格。data ;input n

10、ame & $12. age;cards;Jiang Zhu 20Annie Zheng 31I. Altman 60;run;例中,第一個觀測name 中Jiang Zhu (包含一個空格),第二個觀測為Annie Zheng (包含一個空格)。分隔符為兩個空格。注意:因&有以上特性,數據之間應該用兩個以上的空格隔開。規定讀入字符值時保留引號。此選項只在INFILE語句中與選項DSD一起使用時才有效。注意:DSD選項在第六章會有詳細介紹。這里先說明它的4個功能: 將默認分隔符改為逗號; 對于連續的兩個分隔符,中間按缺失值處理; 將字符變量值的引號去掉; 對引號里的分隔符按字符來對待。所以IN

11、FILE語句中的DSD選項自動把數據記錄的分隔符設置為逗號,并且讀入數據之前,把字符數據中的引號去掉,若加上就會保留數據中的引號。可以通過下面的這個例子來理解DSD和的作用。例5.7 DSD和的作用,讀入字符值時保留引號。 只在INFILE語句中與選項DSD一起使用時才有效。data topics2;infile datalines dsd;input speakers : $15. title $40. location & $10.;datalines;Song, Credit Derivatives, Room 329Zhu, Credit Risk Management, Room 4

12、06;proc print;run;由上例可以看出,“”包含“:”選項的功能。例中,雖然title變量的長度是40,而觀測值得長度都不到40,仍然可以得到正確結果。所以“”包含 “:”的功能。 把speakers后面的“:”改成了“”也可以。例如:data topics2;infile datalines dsd;input speakers $15. title $40. location & $10.;datalines;Song, Credit Derivatives, Room 329Zhu, Credit Risk Management, Room 406;proc print;ru

13、n;輸出窗口信息:Obs speakers title location 1 Song Credit Derivatives Room 329 2 Zhu Credit Risk Management Room 406 但是,若把title后成的“”改成 “:”,引號就因為dsd選項的存在被去掉。如下:data topics2;infile datalines dsd;input speakers : $15. title :$40. location & $10.;datalines;Song, Credit Derivatives, Room 329Zhu, Credit Risk Man

14、agement, Room 406;proc print;run;輸出窗口信息Obs speakers title location 1 Song Credit Derivatives Room 329 2 Zhu Credit Risk Management Room 406格式化方式輸入 格式化輸入方式是INPUT語句讀取非標準數據的唯一方法。即在變量名后面規定輸入格式。這種輸入方式不僅給出了該輸入數據所對應的類型,而且給出了輸入數據所在列的長度。語句格式:INPUT variable informat. ; INPUT (variable-list) (informat-list) ;

15、INPUT (variable-list) ( informat.); 其中:n*規定在輸入列表中后面的輸入格式重復n次。例5.8 格式化方式輸入。data;infile datalines;Input (X1-X5) (3*7.2, 2*5.2);.例中,前3個變量X1-X3的格式為7.2,而后2個變量X4-X5的格式為5.2例5.9 讀入非標準數據$1,000.22。data one;input x comma9.2;datalines;$1,000.22;run;例中,讀入的數據為1000.22,這里要注意長度,該數據符號加上數字一共是九列。命名方式輸入 如果數據行中含有變量的名字,后面

16、跟著等號和變量的值,讀取數據時應該使用命名輸入方式。語句格式INPUT variable= ; INPUT variable= start-column ; INPUT variable=informat. ; 其中:variable=規定用于INPUT語句讀入的變量名。例5.11 使用命名輸入格式。data a;input date yymmdd10. fullshr stkcd=$ lstknm=$ ;cards;2001-01-18 1486553100 stkcd=600001 lstknm=邯鄲鋼鐵;run;一旦input語句開始使用命名輸入格式,后面變量要是不采用命名輸入格式,讀入數據時出錯。data a;input date yymmdd10. stkcd=$ lstknm=$ full

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論