SAS的輸入輸出格式.ppt_第1頁(yè)
SAS的輸入輸出格式.ppt_第2頁(yè)
SAS的輸入輸出格式.ppt_第3頁(yè)
SAS的輸入輸出格式.ppt_第4頁(yè)
SAS的輸入輸出格式.ppt_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

2、$w. 和 $CHARw. 共同特點(diǎn):缺省值均為變量的長(zhǎng)度 不同點(diǎn): $w. :必須指定w的值,不保留字符串前的空格 $CHARw.:w的缺省值為8,保留字符串前的空格 2、輸出格式:$w. 和 $CHARw. 共同特點(diǎn):保留字符串前的空格 注:一個(gè)漢字占兩個(gè)字節(jié),例1.下面是一些人名,請(qǐng)將其讀入到一個(gè)變量NAME中,注意:姓和名之間有一個(gè)空格,建立的SAS數(shù)據(jù)集如右邊的形式。 Bill Clinton George Bush Tony Blair Saddam Hussein Vladimir Putin,1、字符型輸入/輸出格式,data a; input name $ char14.;

3、cards; Bill Clinton George Bush Tony Blair Saddam 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.去掉,語(yǔ)句改為:input name $; 結(jié)果是什么樣的呢?,2、數(shù)值型輸入/輸出格式,1、輸入格式:w.d w.d:讀入寬度為w的原始數(shù)據(jù),并存為SAS數(shù)值,也能自動(dòng)讀入以浮點(diǎn)方式表

4、示的原始數(shù)據(jù)。 遵循以下原則:,2、數(shù)值型輸入/輸出格式,2、輸出格式: Bestw.d, w.d 和 Ew. Bestw.d:系統(tǒng)默認(rèn)格式(相當(dāng)于后兩種格式的自動(dòng)識(shí)別)。w缺省值為12,最大值可達(dá)32 w.d:將數(shù)值用不超過(guò)d位小數(shù)及總寬度不超過(guò)w位的定點(diǎn)數(shù)表示 Ew. :用寬度不超過(guò)w的浮點(diǎn)數(shù)表示 注:寬度設(shè)置不合適時(shí),自動(dòng)調(diào)用SAS系統(tǒng)同寬度的Best格式表示。,1、特殊的輸入格式 COMMAw.d :專(zhuān)為讀入金額的數(shù)據(jù)而設(shè)置。讀入寬度為w的字符串,并能自動(dòng)去除逗號(hào),空格,美圓符號(hào)和短橫線,保留數(shù)字和小數(shù)點(diǎn),還可將用括號(hào)括起來(lái)的數(shù)據(jù)記為負(fù)數(shù)。讀入后按格式w.d記入數(shù)值。 DOLLARw.

5、d 為其別名。,2、數(shù)值型輸入/輸出格式,2、特殊的輸出格式: COMMAw.d 和DOLLARw.d COMMAw.d :將數(shù)值以包含小數(shù)位數(shù)不超過(guò)d位的定點(diǎn)數(shù)表示,并在整數(shù)部分自右往左每三位用逗號(hào)分隔,總字符數(shù)不超過(guò)w。COMMA6.為其缺省設(shè)置。 DOLLARw.d 在COMMA表示的數(shù)據(jù)左側(cè)加上美圓符號(hào)。,2、數(shù)值型輸入/輸出格式,data a; input x comma7. y comma7.; cards; 12,002 34,231 2,210 21,311 run; proc print; run;,OUTPUT: Obs x y 1 12002 34231 2 2210 2

6、1311,例2.有如下兩列數(shù)據(jù),數(shù)據(jù)中包含有逗號(hào),請(qǐng)建立一個(gè)SAS數(shù)據(jù)集,變量為x、y。 12,002 34,231 2,210 21,311,data a; input x comma7.2 y omma7.4; cards; 12,002 34,231 2,210 21,311 run; proc print; run;,OUTPUT: Obs x y 1 120.02 3.4231 2 22.10 2.1311,例3.有如下兩列數(shù)據(jù),其中第一列后兩位數(shù)字為小數(shù),第二列后4位為小數(shù),例如第一個(gè)數(shù)據(jù)12,002讀入后應(yīng)為120.02。請(qǐng)建立一個(gè)SAS數(shù)據(jù)集,變量為x、y。 12,002 34

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

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

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

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

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

12、-40,缺省16 寬度不夠時(shí),從秒數(shù)開(kāi)始截尾,寬度足夠時(shí)(w=19+d)時(shí)自動(dòng)顯示四位數(shù)的年份。,3、日期時(shí)間型輸入/輸出格式,YEARCUTOFF=1920(此值可修改) 管理100年的時(shí)間:1920-2019 例:12/07/41 表示12/07/1941 18Dec15 表示18Dec2015,3、兩位數(shù)年份輸入,data b; input dd date15.; format dd date9.; cards; 1Jan2002 03 Jan 2003 15/May/2004 12-FEB-2005 17*May* %2006 1*OCT*2007 30%sep%/2008 ; pro

13、c print; run;,1Jan2002 03 Jan 2003 15/May/2004 12-FEB-2005 17*May* %2006 1*OCT*2007 30%sep%/2008,01312002 03122003 5 13 2004 4 21 2005 5 25 2006 1/2/2007 3-24-2008,data b; input dd mmddyy10.; format dd mmddyy10.; cards; 01312002 03122003 5 13 2004 4 21 2005 5 25 2006 1/2/2007 3-24-2008 ; proc print;

14、 run;,4、自定義格式,使用PROCFORMAT過(guò)程進(jìn)行格式的自定義。,PROC FORMAT ; INVALUE 格式名 格式; VALUE 格式名 格式; RUN;,INVALUE:定義輸入格式 VALUE : 定義輸出格式。 下面只介紹定義輸出格式(自定義格式比較特別)。,語(yǔ)法: PROCFORMAT; VALUE 自定義輸出格式名字 定義的格式 ; RUN;,自定義輸出格式名字:應(yīng)符合SAS的命名要求,注意最后一個(gè)字符不能是數(shù)字。 定義的格式: 原始值=格式化的輸出值,4、自定義格式,例6.下面是 “問(wèn)卷調(diào)查”資料的部份數(shù)據(jù)。變量sex的賦值是:1=Male,2=Female,變量

15、Band46的賦值是:A=增加, B=不變, C=減弱 ,請(qǐng)建立一個(gè)SAS數(shù)據(jù)集EX,對(duì)變量sex、Band46進(jìn)行格式化。,data qespart; input id$ sex height weight band46$; cards; cnw1r01215449C cnw1r02116964B cnw1r04116967A cnw1r05215350B cnw1r06216050A cnw2r02215646A cnw2r03117362B cnw2r04116857B cnw2r05215545B run; proc print; run;,PROC FORMAT; VALUE sexfmt 1=Male 2=Female ; VALUE $bandfmt A=增加 B=不變 C=減弱 ; RUN;,首先建立相應(yīng)的輸出格式,上面建立了兩種類(lèi)型的輸出格式: 一種是數(shù)值型的,即sexfmt,要求=號(hào)左邊為數(shù)值型數(shù)值或區(qū)間,如上面的1、2為數(shù)值; 另一種是字符型的,即$bandfmt,$表明該格式是字符型,要求=號(hào)左邊為字符或字符區(qū)間,如A 、 B 、 C 。,DATA qesfmt; SET qespart; FORMAT Sex sexfmt. Band46 $bandfmt. ; RUN; PROC Print; RUN;,PROC FORMAT; VALUE h

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論