SAS的輸入輸出格式2011_第1頁
SAS的輸入輸出格式2011_第2頁
SAS的輸入輸出格式2011_第3頁
SAS的輸入輸出格式2011_第4頁
SAS的輸入輸出格式2011_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、SAS的輸入輸出格式什么是格式(Format)? Format is an instruction the SAS System uses to display or write each value of a variable. 即:讀入不同格式的數(shù)據(jù),并按不同要求顯示數(shù)據(jù)。常見數(shù)據(jù)的數(shù)據(jù)格式: 字符型 數(shù)值型 日期時間型 用戶自定義型( 用FORMAT過程定義)注:除自定義類型外,其他類型的數(shù)據(jù)SAS系統(tǒng)均已定義好了相應的格式,只需要調用即可輸入格式和輸出格式的使用:輸入格式input語句中使用,輸出格式format語句中使用。11、字符型輸入/輸出格式1、輸入格式:$w. 和 $CHAR

2、w. 共同特點:缺省值均為變量的長度 不同點: $w. :必須指定w的值,不保留字符串前的空格 $CHARw.:w的缺省值為8,保留字符串前的空格 2、輸出格式:$w. 和 $CHARw. 共同特點:保留字符串前的空格注:一個漢字占兩個字節(jié) 2Obsname1Bill Clinton2George Bush3Tony Blair4Saddam Hussein5Vladimir Putin例1.下面是一些人名,請將其讀入到一個變量NAME中,注意:姓和名之間有一個空格,建立的SAS數(shù)據(jù)集如右邊的形式。Bill ClintonGeorge BushTony BlairSaddam Hussein

3、Vladimir Putin1、字符型輸入/輸出格式3data a;input name $ char14.;cards;Bill ClintonGeorge BushTony BlairSaddam Hussein Vladimir Putin;proc print;run; Obs name 1 Bill Clinton 2 George Bush 3 Tony Blair 4 Saddam Hussein 5 Vladimir Putin$CHARw. :讀取包含空格的字符串 如果將char14.去掉,語句改為:input name $;結果是什么樣的呢?42、數(shù)值型輸入/輸出格式1、輸

4、入格式:w.d w.d:讀入寬度為w的原始數(shù)據(jù),并存為SAS數(shù)值,也能自動讀入以浮點方式表示的原始數(shù)據(jù)。遵循以下原則: 52、數(shù)值型輸入/輸出格式 2、輸出格式: Bestw.d, w.d 和 Ew. Bestw.d:系統(tǒng)默認格式(相當于后兩種格式的自動識別)。w缺省值為12,最大值可達32 w.d:將數(shù)值用不超過d位小數(shù)及總寬度不超過w位的定點數(shù)表示 Ew. :用寬度不超過w的浮點數(shù)表示注:寬度設置不合適時,自動調用SAS系統(tǒng)同寬度的Best格式表示。61、特殊的輸入格式 COMMAw.d :專為讀入金額的數(shù)據(jù)而設置。讀入寬度為w的字符串,并能自動去除逗號,空格,美圓符號和短橫線,保留數(shù)字和

5、小數(shù)點,還可將用括號括起來的數(shù)據(jù)記為負數(shù)。讀入后按格式w.d記入數(shù)值。 DOLLARw.d 為其別名。 2、數(shù)值型輸入/輸出格式72、特殊的輸出格式: COMMAw.d 和DOLLARw.d COMMAw.d :將數(shù)值以包含小數(shù)位數(shù)不超過d位的定點數(shù)表示,并在整數(shù)部分自右往左每三位用逗號分隔,總字符數(shù)不超過w。COMMA6.為其缺省設置。 DOLLARw.d 在COMMA表示的數(shù)據(jù)左側加上美圓符號。 2、數(shù)值型輸入/輸出格式8data a;input x comma7. y comma7.;cards;12,002 34,2312,210 21,311run;proc print;run;OU

6、TPUT:Obs x y 1 12002 34231 2 2210 21311例2.有如下兩列數(shù)據(jù),數(shù)據(jù)中包含有逗號,請建立一個SAS數(shù)據(jù)集,變量為x、y。12,002 34,2312,210 21,3119data a;input x comma7.2 y omma7.4;cards;12,002 34,2312,210 21,311run;proc print;run;OUTPUT: Obs x y 1 120.02 3.4231 2 22.10 2.1311例3.有如下兩列數(shù)據(jù),其中第一列后兩位數(shù)字為小數(shù),第二列后4位為小數(shù),例如第一個數(shù)據(jù)12,002讀入后應為120.02。請建立一個S

7、AS數(shù)據(jù)集,變量為x、y。12,002 34,2312,210 21,31110data a;input x dollar8. y dollar8.;cards;$12,002 $34,231$2,210 $21,311run;proc print;run;OUTPUT:Obs x y 1 12002 34231 2 2210 21311例4.有如下兩列數(shù)據(jù),數(shù)據(jù)中包有$和逗號,請建立一個SAS數(shù)據(jù)集,變量為x、y。(例如$12,002讀入后應為12002 )$12,002 $34,231$2,210 $21,31111data a;input x dollar8.2 y dollar8.4;

8、cards;$12,002 $34,231$2,210 $21,311run;proc print;run;OUTPUT: Obs x y 1 120.02 3.4231 2 22.10 2.1311例5.有如下兩列數(shù)據(jù),其中第一列后兩位數(shù)字為小數(shù),第二列后4位為小數(shù),例如第一個數(shù)據(jù)$12,002讀入后應為120.02。請建立一個SAS數(shù)據(jù)集,變量為x、y。$12,002 $34,231$2,210 $21,31112日期,時間,日期時間型的數(shù)據(jù)均以與0值的差值數(shù)據(jù)存入計算機。零點值的規(guī)定 日期型: 0 值(1960.1.1),其他日期為與其的差值 時間型: 0值(0時0分0秒) 日期時間型

9、0值(1960年1月1日0時0分0秒) 3、日期時間型輸入/輸出格式131、日期輸入格式 :YYMMDDw. 讀入的數(shù)據(jù)形式為:yymmdd / yyyymmdd W:6-32,缺省為6 其他格式:MMDDYYw. 和DDMMYYw.MMDDYYw.讀入的數(shù)據(jù)形式為:mmddyy/mmddyyyyDDMMYYw.讀入的數(shù)據(jù)形式為:ddmmyy/ddmmyyyy3、日期時間型輸入/輸出格式142、日期輸出格式 :YYMMDDxw. 讀入的數(shù)據(jù)形式為:yymmdd / yyyymmdd W:2-10(x為N時,2-8),缺省為8 x B C D N P S 分隔符 空格 : - 無 . / YYM

10、MDDw.相當于YYMMDDDw.其他格式:MMDDYYxw. 和DDMMYYxw.3、日期時間型輸入/輸出格式153、特殊日期輸入/輸出格式:DATEw. 輸入/輸出日期的格式為:ddmmmyy/ddmmmyyyy 缺省方式為DATE7.3、日期時間型輸入/輸出格式163、特殊日期輸入/輸出格式:DATEw. 輸入/輸出日期的格式為:ddmmmyy/ddmmmyyyy 缺省方式為DATE7.3、日期時間型輸入/輸出格式174、時間輸入格式:TIMEw.讀入的時間形式為:hh:mm:ss.ss時分秒間的分隔符有:(:),(空格),(-);還有PM,AM例:1 40 35.37 PM 讀入格式t

11、ime14. 49235.37 輸出格式timeampm13.2 1:40:35.37 PM5、時間輸出格式:TIMEw.dd:可指明秒數(shù)包含的小數(shù)位數(shù)。輸出時總帶有分隔符(:)寬度不夠時,先顯示小時數(shù),再是分鐘,再是秒數(shù)。3、日期時間型輸入/輸出格式186、日期時間輸入格式:DATETIMEw.讀入的日期時間形式為:ddmmmyy hh:mm:ss.ss/ddmmmyyyy hh:mm:ss.ssW:13-40,缺省187、日期時間輸出格式:DATETIMEw.d輸出格式形式:ddmmmyy:hh:mm:ss.ss/ddmmmyyyy:hh:mm:ss.ssW:7-40,缺省16寬度不夠時,

12、從秒數(shù)開始截尾,寬度足夠時(w=19+d)時自動顯示四位數(shù)的年份。3、日期時間型輸入/輸出格式19YEARCUTOFF=1920(此值可修改)管理100年的時間:1920-2019例:12/07/41 表示12/07/1941 18Dec15 表示18Dec20153、兩位數(shù)年份輸入20data b;input dd date15.;format dd date9.;cards;1Jan200203 Jan 200315/May/200412-FEB-200517*May* %20061*OCT*200730%sep%/2008;proc print;run;Obsdd101JAN200220

13、3JAN2003315MAY2004412FEB2005517MAY2006601OCT2007730SEP20081Jan200203 Jan 200315/May/200412-FEB-200517*May* %20061*OCT*200730%sep%/2008215 13 20044 21 20055 25 20061/2/20073-24-2008data b;input dd mmddyy10.;format dd mmddyy10.;cards;5 13 20044 21 20055 25 20061/2/20073-24-2008;proc print;run;Obsdd101

14、/31/2002203/12/2003305/13/2004404/21/2005505/25/2006601/02/2007703/24/2008224、自定義格式使用PROCFORMAT過程進行格式的自定義。PROC FORMAT ; INVALUE 格式名 格式; VALUE 格式名 格式; RUN;INVALUE:定義輸入格式VALUE : 定義輸出格式。下面只介紹定義輸出格式(自定義格式比較特別)。23語法:PROCFORMAT; VALUE 自定義輸出格式名字 定義的格式 ;RUN; 自定義輸出格式名字:應符合SAS的命名要求,注意最后一個字符不能是數(shù)字。定義的格式: 原始值=格式

15、化的輸出值4、自定義格式24例6.下面是 “問卷調查”資料的部份數(shù)據(jù)。變量sex的賦值是:1=Male,2=Female,變量Band46的賦值是:A=增加, B=不變, C=減弱 ,請建立一個SAS數(shù)據(jù)集EX,對變量sex、Band46進行格式化。25data qespart;input id$ sex height weight band46$;cards;cnw1r01215449Ccnw1r02116964Bcnw1r04116967Acnw1r05215350Bcnw1r06216050Acnw2r02215646Acnw2r03117362Bcnw2r04116857Bcnw2r0

16、5215545Brun;proc print;run;Obsidsexheightweightband461cnw1r01215449C2cnw1r02116964B3cnw1r04116967A4cnw1r05215350B5cnw1r06216050A6cnw2r02215646A7cnw2r03117362B8cnw2r04116857B9cnw2r05215545B26PROC FORMAT; VALUE sexfmt 1=Male 2=Female ; VALUE $bandfmt A=增加 B=不變 C=減弱 ;RUN;首先建立相應的輸出格式上面建立了兩種類型的輸出格式: 一種是數(shù)

17、值型的,即sexfmt,要求=號左邊為數(shù)值型數(shù)值或區(qū)間,如上面的1、2為數(shù)值;另一種是字符型的,即$bandfmt,$表明該格式是字符型,要求=號左邊為字符或字符區(qū)間,如A 、 B 、 C 。27DATA qesfmt; SET qespart; FORMAT Sex sexfmt. Band46 $bandfmt. ;RUN;PROC Print;RUN;Obsidsexheightweightband461cnw1r01Female15449減弱2cnw1r02Male16964不變3cnw1r04Male16967增加4cnw1r05Female15350不變5cnw1r06Female

18、16050增加6cnw2r02Female15646增加7cnw2r03Male17362不變8cnw2r04Male16857不變9cnw2r05Female15545不變28PROC FORMAT; VALUE hgtfmt LOW - 150 = 150 150- 155 = 150-155 155- 160 = 155-160 160- 165 = 160-165 165- 170 = 165-170 170- 175 = 170-175 175- =180 ;RUN;利用格式對連續(xù)型變量的離散化分組(頻數(shù)表編制)例7. 對“問卷調查”資料中的身高編制頻數(shù)表,組距取5CM,小于150為第一組,150-155為第二組Data ex;Set qespart;Format height hgtfmt.;label height =身高;Run;Proc print label;Run;Proc freq ;Tables height;Run;29Obsclassid身高weight134cnw1l01175-18070.0

溫馨提示

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

評論

0/150

提交評論