版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)習(xí)三 輸入數(shù)據(jù)1四種輸入數(shù)據(jù)的方法:(一)直接將數(shù)據(jù)輸入數(shù)據(jù)集中。(二)讀取原始數(shù)據(jù)(三)將其他軟件中的數(shù)據(jù)導(dǎo)入 SAS 中,主要是用到 import 過(guò)程。(四)直接讀取其他軟件中的數(shù)據(jù) 最常用于讀取其他數(shù)據(jù)庫(kù)中的數(shù)據(jù)。2讀取原始數(shù)據(jù)讀取原始數(shù)據(jù)的方式1.列方式(column)2.列表方式(list)/自由格式(free-format)3.格式化方式(formatted)4.命名方式(named) 這四種方式并不是相斥的 讀取數(shù)據(jù)的機(jī)制3INFILE ;(一) 可以是外部文件、文件標(biāo)記或者 cards/datalines 數(shù)據(jù)塊;1.指定外部文件infile c:sales.dat2.指定
2、文件標(biāo)記 test c:sales.dat in;3.指定 cards 數(shù)據(jù)塊in dsd;in DLM=,;4二、列方式(一)列輸入方式的語(yǔ)句格式INPUT variable start-column;說(shuō)明:variable 變量名$ 跟在變量后面,表明這個(gè)變量是字符型變量start-column 起始列號(hào)end-column 結(jié)束列號(hào),如果變量值只包含一列,則可省略.decimals 如果輸入值中沒(méi)有包含一個(gè)隔開整數(shù)部分與小數(shù)部分的小數(shù)點(diǎn),decimals 用來(lái)顯性的指明小數(shù)部分 單尾符 雙尾符5舉例說(shuō)明:input name $ 1-10 pulse 11-13 waist 14-15
3、gender $ 16; (二)什么情況下應(yīng)用列輸入方式?1.變量值在所有的數(shù)據(jù)行上出現(xiàn)在相同的位置(列)上;2.數(shù)據(jù)是標(biāo)準(zhǔn)的數(shù)值型或字符型格式; (三)列輸入方式的特點(diǎn)1.輸入值可以按任何順序讀取,而不管它們?cè)谟涗浿惺裁次恢茫?.字符型數(shù)據(jù)中可以在中間嵌套空格;3.字符型數(shù)值可以輸入 1-32767 個(gè)字符;4.數(shù)值或數(shù)值中的一部分可以再次被讀取,例如: input id 10-15 group 13;6(四)列輸入方式如何處理缺失值和空格?1.空區(qū)域或只有(.)的區(qū)域被看成缺失值;2.列輸入方式忽略在所指定區(qū)域中開頭和結(jié)尾部分的空格,如果你想保留數(shù)值型數(shù)據(jù)中包含作為 0 的空格,或者字符型
4、數(shù)據(jù)中開頭或結(jié)尾的空格,那就需要使用格式輸入方式;7三、列表方式(一)列表方式的語(yǔ)句格式INPUT variable ;INPUT variable ; (二)什么情況下應(yīng)用列表方式?1.輸入的值彼此之間至少有一個(gè)空格隔開;2.用小數(shù)點(diǎn)(.)而不是空格表示丟失值;3.字符型數(shù)據(jù)的最大長(zhǎng)度默認(rèn)是 8 個(gè)字節(jié),除非在 length,attrib 或 informat 語(yǔ)句中規(guī)定了字 符型變量的長(zhǎng)度;8(三)列表方式的特點(diǎn)1.列表方式輸入是使用最多的功能最強(qiáng)大以及最為方便的輸入方式;2.在指針控制符和格式修飾符的幫助下,列表方式可以讀取幾乎所有格式的數(shù)據(jù); 基于以上兩點(diǎn),也許這就是列表方式也被稱為自
5、由格式的原因。 9(四)列表方式的特殊情況格式修飾符1.: 標(biāo)明從非空格開始讀取變量值直到遇到以下情況:下一個(gè)空格列;預(yù)先定義的變量長(zhǎng)度已經(jīng) 讀滿;數(shù)據(jù)行結(jié)束;比如下面的例子,第一列數(shù)據(jù)最長(zhǎng)是 15 個(gè)字符但不是一樣長(zhǎng),如果小于 15 個(gè)字符的數(shù)據(jù)值可 能會(huì)讀到下一個(gè)數(shù)據(jù)值,那么就需要用到:符號(hào)。data test;input lastname :$15. ; cards;Smith 123 Highway Longlastname 527 Avenue; 102.& 指明字符型輸入值可能嵌有一個(gè)或幾個(gè)空格,因?yàn)榭崭裨谡G闆r下用來(lái)分割不同的數(shù)據(jù)值例如:data test;input name
6、 $ & score; cards;Joseph11 Joergensen red Mitchel 13 Mc Allister blueSu Ellen 14 Fischer-Simon green;113. 指明當(dāng)讀字符值時(shí),INPUT 語(yǔ)句用一種特殊方法處理單引號(hào)和雙引號(hào)及分隔符。此選項(xiàng)僅當(dāng) 在 INFILE 語(yǔ)句中與選項(xiàng) DSD 一起使用時(shí)才有效;否則它被忽略。例如:data scores;in dsd;input Name : $9. Score1-Score3 Team $25. Div $; datalines;Joseph,11,32,76,Red Racers, Washin
7、gton,AAA Mitchel,13,29,82,Blue Bunnies, Richmond,AAA Sue Ellen,14,27,74,Green Gazelles, Atlanta,AA;12四、格式化方式(一)格式化方式的語(yǔ)法格式INPUT variable informat. ;INPUT (variable-list) (informat-list) ;INPUT (variable-list) ( informat.) ;131.語(yǔ)法格式一是標(biāo)準(zhǔn)格式,即在變量后面緊跟一個(gè)輸入格式來(lái)指明該變量讀取數(shù)據(jù)時(shí)的格式,例如:input item $10. jan comma5. feb
8、 comma5.;2.語(yǔ)法格式二和三都是變量列表方式,用于很多變量都采用相同格式的情況。例如: input (name score)(:$10 4.2);如果變量列表的格式都是一樣的,可以只寫一個(gè)格式,例如下面兩個(gè) input 語(yǔ)句是等價(jià)的,input (score1-score5)(4. 4. 4. 4. 4.);/*score1 到 score5 這 5 個(gè)變量的取值寬度均為 4(即占 4 列)*/input (score1-score5)(4. );14 informat. 給出讀上述變量列表時(shí)所使用的一些輸入格式?!皀*”用來(lái)規(guī)定在輸入列表 中后面的輸入格式重復(fù) n 次。例如:上面的
9、input 語(yǔ)句可以寫成input (score1-score5)(5*4. );input (g1-g5)(3*7.2, 2*5.2);15五、命名方式如果數(shù)據(jù)行中含有變量的名字,后面跟著等號(hào)(=)和變量的值,讀取數(shù)據(jù)時(shí)應(yīng)該使用命名 輸入方式。(一)命名方式的語(yǔ)法格式INPUT variable= ;INPUT variable= informat. ;INPUT variable= start-column ;舉例說(shuō)明:data temp;input id name=$20. gender=$; informat dob ddmmyy8.; datalines;4798 gender=m
10、name=COLIN age=23 dob=16/02/75 2653 name=MICHELE age=46 gender=f;16六、指針控制( Pointer Controls)1.n 將指針移到第 n 列,例如:input 15 name $10.;/* 指針移動(dòng)到第 15 列,讀取第 15-24 列數(shù)據(jù)值給變量 name */2.numeric-variable 將指針移到數(shù)值變量所指的列。例如:a=15;input a name $10.;3.(expression) 將指針移動(dòng)到表達(dá)式值所指的列,表達(dá)式必須取正。例如:b=5;input (b*3) name $10.;174.c
11、haracter-string 將指針移到數(shù)據(jù)行中字符串之后的第一個(gè)非空格列,例如: 某數(shù)據(jù)行含有下面的值:size=133我們可以采用命名方式讀取,input size= ;同時(shí)也可以采用指針?lè)绞?,如input size= x 3. ;再例如要從日志文件中讀取日期,假設(shè)日志文件的格式是 date:25-Oct-2007,讀取日期就可 以是,input date: log_date date11. ; 185.character-variable 首先確定字符變量所取值(字符串)在輸入行的位置,然后將指針 移到這個(gè)字符串之后的第一個(gè)非空格列。6.(character-expression) 首
12、先確定字符表達(dá)式值的位置,然后將指針移到其后的第一個(gè) 非空格列。7.+n 將指針向右移動(dòng) n 列input 23 length 4. +5 width 4.;8.+numeric-variable 將指針移動(dòng)到數(shù)值變量的值所指的列數(shù)9.+(expression) 將指針移到表達(dá)式值所指的列數(shù)19七、行固定標(biāo)識(shí)符(Line-Hold Specifiers)行固定標(biāo)識(shí)符在下面兩種情況下將指針控制在同一個(gè)數(shù)據(jù)行:1.一個(gè)數(shù)據(jù)行用多個(gè) input 語(yǔ)句讀取數(shù)據(jù)()2.一個(gè)數(shù)據(jù)行含有多個(gè)觀測(cè)值()20(一) (trailing at-sign, 單尾符)通常,在 Data 步的每個(gè) input 語(yǔ)句讀取
13、一個(gè)新數(shù)據(jù)行,的作用將當(dāng)前數(shù)據(jù)行固定下來(lái), 直到遇到下一個(gè) input 語(yǔ)句才解固,這樣一來(lái)可以讓多個(gè) input 語(yǔ)句讀取同一個(gè)數(shù)據(jù)行。試比 較下面兩段代碼,data test1;input a b; input c d; cards;1 2 3 45 6 7 8;執(zhí)行結(jié)果 test1 數(shù)據(jù)集是a b c d 1 2 5 6而在將第一個(gè) input 語(yǔ)句改為 input a b ;則結(jié)果是,a b c d 1 2 3 45 6 7 821我想這樣解釋還是比較清楚了,但是可能還不明白這個(gè)符號(hào)到底有什么意義,前面的語(yǔ)句直接寫 成 input a b c d; 就好了,何必這么麻煩呢?下面一個(gè)例子
14、就會(huì)領(lǐng)略到它的真正用處,data freeways; infile c:MyRawDataTraffic.dat; input type $ ; if type = surface then delete; input Name $ 9-38 AMTraffic PMTraffic; run;可以選擇性的讀取數(shù)據(jù)。22(二) (double trailing at-sign, 雙尾符)通常情況下,SAS 會(huì)認(rèn)為你的每一個(gè)數(shù)據(jù)行僅僅代表一個(gè)觀測(cè);如果不是這樣,手頭上的 數(shù)據(jù)恰恰是連在一起的,一個(gè)數(shù)據(jù)行不止一條觀測(cè),則需要用到。 例如:data test;input name $ age ; da
15、talines;John 13 Monica 12 Sue 15 Stephen 10 Marc 22 Lily 17;23八、input 語(yǔ)句與 infile 語(yǔ)句結(jié)合語(yǔ)法格式INFILE ;options 可以更好地控制打開文件,infile 語(yǔ)句的選項(xiàng)有 31 項(xiàng)之多,這里只選取一些常用 實(shí)用的予以講解,更多詳細(xì)準(zhǔn)確的用法請(qǐng)參考幫助文檔。FIRSTOBS=record-number 從指定的行開始讀取記錄OBS=record-number 讀取到指定的行結(jié)束DELIMITER=delimiters| DLM=delimiters 指定一個(gè)字符或多個(gè)字符替換空格作為分 隔符(對(duì)列表方式輸入而言),delimiters 可以是分隔字符表也可以是分隔變量。 數(shù)據(jù)中使用不同的字符來(lái)分隔數(shù)據(jù),將出現(xiàn)的所有單個(gè)字符連在一起用引號(hào)引起來(lái)即構(gòu)成分隔字 符表.24data bp;in delimiter=/,; input sbp dbp ; datalines;120/80, 115/70, 105/75150/95, 135/85, 100/60;也可以先用變量定義分隔字符表,然后在 delimiter 選項(xiàng)中使用該變量,例如:d=/,;in delimiter=d;25DSD (delimiter-sens
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版農(nóng)戶土地承包流轉(zhuǎn)合同中包含農(nóng)村電商合作條款范本4篇
- 2025版木枋行業(yè)綠色生產(chǎn)與節(jié)能減排合同4篇
- 2025年度配電室電氣設(shè)備安裝與調(diào)試合同4篇
- 2025年度智能煤場(chǎng)租賃與運(yùn)營(yíng)管理合同
- 避孕套婦產(chǎn)科學(xué)講解
- 二零二五年度農(nóng)產(chǎn)品電商平臺(tái)數(shù)據(jù)分析及用戶行為研究合同
- 2025年度農(nóng)產(chǎn)品電商運(yùn)營(yíng)托管服務(wù)合同4篇
- 二零二五版木結(jié)構(gòu)建筑項(xiàng)目管理與咨詢服務(wù)合同3篇
- 二零二五年度木門安裝與售后服務(wù)合同規(guī)范范本2篇
- 二零二五年度公務(wù)用車全生命周期維護(hù)服務(wù)合同3篇
- 圖像識(shí)別領(lǐng)域自適應(yīng)技術(shù)-洞察分析
- 個(gè)體戶店鋪?zhàn)赓U合同
- 禮盒業(yè)務(wù)銷售方案
- 術(shù)后肺炎預(yù)防和控制專家共識(shí)解讀課件
- 二十屆三中全會(huì)精神學(xué)習(xí)試題及答案(100題)
- 中石化高級(jí)職稱英語(yǔ)考試
- 小學(xué)五年級(jí)英語(yǔ)閱讀理解(帶答案)
- 2024二十屆三中全會(huì)知識(shí)競(jìng)賽題庫(kù)及答案
- 仁愛版初中英語(yǔ)單詞(按字母順序排版)
- (正式版)YS∕T 5040-2024 有色金屬礦山工程項(xiàng)目可行性研究報(bào)告編制標(biāo)準(zhǔn)
- 小學(xué)一年級(jí)拼音天天練
評(píng)論
0/150
提交評(píng)論