版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第5章 數(shù)據(jù)步讀入原始數(shù)據(jù)原始數(shù)據(jù)分類 原始數(shù)據(jù)一般分為字符和數(shù)值兩種類型,數(shù)值數(shù)據(jù)又分為標(biāo)準(zhǔn)數(shù)值數(shù)據(jù)和非標(biāo)準(zhǔn)數(shù)值數(shù)據(jù)。標(biāo)準(zhǔn)數(shù)據(jù)是由字符或者數(shù)值組成的可以被列表、列、格式化、命名輸入方式讀入的數(shù)據(jù)如ARKANSAS,1166.42。非標(biāo)準(zhǔn)數(shù)據(jù)只能在輸入格式的幫助下讀入的數(shù)據(jù)。如非標(biāo)準(zhǔn)的數(shù)值數(shù)據(jù),可能包含逗號,空格等符號。日期和時間數(shù)值。十六進(jìn)制和二進(jìn)制數(shù)值。標(biāo)準(zhǔn)數(shù)值數(shù)據(jù)只包含數(shù)字,小數(shù)點(diǎn)或負(fù)號。非標(biāo)準(zhǔn)數(shù)值數(shù)據(jù)則包含其它的特殊字符,如千分號,美元符號等。 讀取數(shù)值數(shù)據(jù)的規(guī)則數(shù)值前面的括號或者減號符號表示該數(shù)值為負(fù)。首位有一個或者多個零不影響對相應(yīng)變量的賦值。SAS不把數(shù)值尾部的空格默認(rèn)為0。數(shù)值
2、數(shù)據(jù)的前后都可以有空格,但是數(shù)字中間不能有(除非用COMMA. 或BZ.格式讀入)。字符數(shù)據(jù) 字符數(shù)據(jù)是由一系列字符組成的數(shù)據(jù)。下面任一種情況下,INPUT語句認(rèn)定讀入變量的值是字符值。INPUT語句中變量名后跟一個美元符號$;使用字符輸入格式;要讀入數(shù)據(jù)的變量已經(jīng)被定義為字符值。原始數(shù)據(jù)呈現(xiàn)形式 原始數(shù)據(jù)的呈現(xiàn)形式一般分為呈現(xiàn)在SAS編輯窗口的數(shù)據(jù)行,和儲存在外部文件中的原始數(shù)據(jù)例5.1 編輯窗口下,數(shù)據(jù)行形式的原始數(shù)據(jù)。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 儲存在外部文件中的原始數(shù)據(jù),TXT文本格式。-1-22477 195 177 1632431 220 213 1982456 173 166 1552412 135 125 116使用INPUT語句讀入原始數(shù)據(jù) INPUT語句的用途有兩方面:讀入外部數(shù)據(jù)文件中的數(shù)據(jù);讀入CARDS語句后面的數(shù)據(jù)。 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. ; 選項(xiàng)說明specification(s)變量及其格式的詳細(xì)說明variable-list列出要讀入數(shù)據(jù)值的變量執(zhí)行下一個INPUT語句時指針移到下一記錄行,要求一條記錄必須對應(yīng)一個數(shù)據(jù)行執(zhí)行
5、下一個INPUT語句時指針保持在當(dāng)前記錄行,不要求一條記錄對應(yīng)一個數(shù)據(jù)行$ 定義字符型變量start-column規(guī)定變量值在記錄行中的起始列end-column規(guī)定變量值在記錄行中的終止列decimalplaces小數(shù)點(diǎn)位置pointer-control 移動輸入指針到指定的行或列上informat 列出變量的輸入格式;informat-list -列出變量列表對應(yīng)的輸入格式列表decimals規(guī)定小數(shù)部分的位數(shù)列方式輸入 語句格式INPUT variable start-column ; 設(shè)定變量名稱,為可選項(xiàng),如果選擇$則表示這是一個字符變量。而start-column 表示該變量在記錄
6、行中的起始列(終止列)。例5.3 使用列方式輸入數(shù)據(jù)。data scores;infile datalines truncover;input name $ 1-10 sex $11 age 12-15 ;datalines;Justine F 12Bob M 13;-+-1-+-2-+-3-+- 例中,規(guī)定記錄行的第1到10列為變量NAME的輸入值,11列為變量SEX的輸入值,12到15列為變量AGE的輸入值。NAME和SEX為字符型變量。列方式輸入使用條件原始數(shù)據(jù)輸入值的位置在每個記錄行相同的列中; 原始數(shù)據(jù)輸入值是標(biāo)準(zhǔn)的數(shù)值格式或一般字符格式。列方式輸入的特點(diǎn)原始數(shù)據(jù)輸入值可以按任意順序
7、讀??;字符型原始數(shù)據(jù)中間可以有空格;可以重復(fù)讀取原始數(shù)據(jù)記錄行的某一部分。讀入的數(shù)據(jù)值不需要用空格或者其它分隔符隔開。列表方式輸入 簡單列表方式輸入INPUT variable ; 調(diào)整列表方式輸入INPUT variable ;列表方式輸入使用條件輸入數(shù)據(jù)值之間至少有一個空格隔開;用小數(shù)點(diǎn)表示表示缺失值;字符型值的默認(rèn)長度為8個字節(jié),也可以用LENGTH, ATTRIB, INFORMAT語句規(guī)定長度;數(shù)據(jù)必須是字符數(shù)據(jù)或標(biāo)準(zhǔn)的數(shù)值數(shù)據(jù)。列表方式輸入格式修飾符 :當(dāng)原始數(shù)據(jù)是以空格為分隔符時,要想對變量值長度不一致的變量規(guī)定統(tǒng)一長度就必須用到該格式修飾符。規(guī)定變量值是從非空格列中讀取, 直到
8、第一次遇到以下三種情況之一,該變量值的讀取過程才結(jié)束: 下一個空格列; 達(dá)到變量預(yù)先設(shè)定的長度(如果沒有預(yù)先設(shè)定變量長度就是SAS默認(rèn)字符長度8個字節(jié)); 數(shù)據(jù)行結(jié)束。例5.5 空格為分隔符時,對變量值長度不一致的變量規(guī)定統(tǒng)一長度。data;input Univ : $12. Plc$ Zip ;cards;MIT Boston 100023 TsinghuaUniv Beijing 100084;例中,第一個觀測變量Univ的值為MIT(只讀3個字符,因遇到空格而結(jié)束)第二個觀測值為TsinghuaUniv(得到先前定義的變量長度12)。如果只對變量Univ規(guī)定長度,而不加格式修飾符(:),
9、在讀入第一條記錄時就會出錯,如果不對變量Univ規(guī)定長度,讀入第二條記錄時就會只讀入Tsinghua,而不是預(yù)先要讀入的TsinghuaUniv,這是因?yàn)镾AS默認(rèn)的字符變量的存儲長度就是8個字節(jié)。UnivPlcZipMITBoston100023TsinghuaUnivBeijing100084加格式修飾符(:)不加格式修飾符(:)UnivPlc ZipMIT Boston 100023 .&字符型輸入值可能包含一個或幾個空格。因?yàn)榭崭袷橇斜碜x入方式默認(rèn)的分隔符,所以,如果要讀入的數(shù)據(jù)值本身包括空格時就必須用此格式符。例5.6 空格為分隔符時,字符型輸入值嵌有空格。data ;input n
10、ame & $12. age;cards;Jiang Zhu 20Annie Zheng 31I. Altman 60;run;例中,第一個觀測name 中Jiang Zhu (包含一個空格),第二個觀測為Annie Zheng (包含一個空格)。分隔符為兩個空格。注意:因&有以上特性,數(shù)據(jù)之間應(yīng)該用兩個以上的空格隔開。規(guī)定讀入字符值時保留引號。此選項(xiàng)只在INFILE語句中與選項(xiàng)DSD一起使用時才有效。注意:DSD選項(xiàng)在第六章會有詳細(xì)介紹。這里先說明它的4個功能: 將默認(rèn)分隔符改為逗號; 對于連續(xù)的兩個分隔符,中間按缺失值處理; 將字符變量值的引號去掉; 對引號里的分隔符按字符來對待。所以IN
11、FILE語句中的DSD選項(xiàng)自動把數(shù)據(jù)記錄的分隔符設(shè)置為逗號,并且讀入數(shù)據(jù)之前,把字符數(shù)據(jù)中的引號去掉,若加上就會保留數(shù)據(jù)中的引號??梢酝ㄟ^下面的這個例子來理解DSD和的作用。例5.7 DSD和的作用,讀入字符值時保留引號。 只在INFILE語句中與選項(xiàng)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;由上例可以看出,“”包含“:”選項(xiàng)的功能。例中,雖然title變量的長度是40,而觀測值得長度都不到40,仍然可以得到正確結(jié)果。所以“”包含 “:”的功能。 把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后成的“”改成 “:”,引號就因?yàn)閐sd選項(xiàng)的存在被去掉。如下: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語句讀取非標(biāo)準(zhǔn)數(shù)據(jù)的唯一方法。即在變量名后面規(guī)定輸入格式。這種輸入方式不僅給出了該輸入數(shù)據(jù)所對應(yīng)的類型,而且給出了輸入數(shù)據(jù)所在列的長度。語句格式:INPUT variable informat. ; INPUT (variable-list) (informat-list) ;
15、INPUT (variable-list) ( informat.); 其中:n*規(guī)定在輸入列表中后面的輸入格式重復(fù)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 讀入非標(biāo)準(zhǔn)數(shù)據(jù)$1,000.22。data one;input x comma9.2;datalines;$1,000.22;run;例中,讀入的數(shù)據(jù)為1000.22,這里要注意長度,該數(shù)據(jù)符號加上數(shù)字一共是九列。命名方式輸入 如果數(shù)據(jù)行中含有變量的名字,后面
16、跟著等號和變量的值,讀取數(shù)據(jù)時應(yīng)該使用命名輸入方式。語句格式INPUT variable= ; INPUT variable= start-column ; INPUT variable=informat. ; 其中:variable=規(guī)定用于INPUT語句讀入的變量名。例5.11 使用命名輸入格式。data a;input date yymmdd10. fullshr stkcd=$ lstknm=$ ;cards;2001-01-18 1486553100 stkcd=600001 lstknm=邯鄲鋼鐵;run;一旦input語句開始使用命名輸入格式,后面變量要是不采用命名輸入格式,讀入數(shù)據(jù)時出錯。data a;input date yymmdd10. stkcd=$ lstknm=$ full
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川電影電視學(xué)院《大學(xué)生創(chuàng)新創(chuàng)業(yè)教育》2021-2022學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《智能檢測與計(jì)算機(jī)控制技術(shù)》2021-2022學(xué)年期末試卷
- 正念減壓治療與腫瘤康復(fù)
- 石河子大學(xué)《外科學(xué)二見習(xí)》2021-2022學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《軟件測試技術(shù)》2022-2023學(xué)年期末試卷
- 石河子大學(xué)《化工原理實(shí)驗(yàn)二》2023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《智能產(chǎn)品交互設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《現(xiàn)代控制理論》2022-2023學(xué)年期末試卷
- 沈陽理工大學(xué)《計(jì)算機(jī)圖形學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《工業(yè)機(jī)器人》2023-2024學(xué)年第一學(xué)期期末試卷
- 充電樁整體解決方案PPT幻燈片(PPT 27頁)
- 物業(yè)服務(wù)集團(tuán)全員品質(zhì)督導(dǎo)策劃方案
- 建筑設(shè)計(jì)基礎(chǔ)(ppt)課件
- 半導(dǎo)體芯片項(xiàng)目商業(yè)計(jì)劃書范文參考
- 邯鄲市政府采購辦事指南
- 城市初期雨水污染治理
- 在護(hù)林員培訓(xùn)班上的講話護(hù)林員會議講話稿.doc
- 材料科學(xué)基礎(chǔ)-第7章-三元相圖
- (完整word版)高頻變壓器的設(shè)計(jì)
- 公路工程2018各項(xiàng)費(fèi)用的計(jì)算程序及計(jì)算方式
- 戶外急救知識(必備)
評論
0/150
提交評論