優(yōu)化輸出和創(chuàng)建新變量_第1頁
已閱讀1頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、優(yōu)化輸出和創(chuàng)建新變量,Dr. Baokun Li經(jīng)濟實驗教學(xué)中心商務(wù)數(shù)據(jù)挖掘中心,優(yōu)化 SAS 輸出,TITLE 語句 – 為Proc程序塊的輸出作標(biāo)記LABEL 語句 – 為變量名稱作標(biāo)記FORMAT 語句 – 為變量的數(shù)值作標(biāo)記,標(biāo)準(zhǔn)輸出 The FREQ Procedure

2、 Cumulative Cumulative clinic Frequency Percent Frequency Percent ----------------------------------------------------------- A 18 18.00 18

3、 18.00 B 29 29.00 47 47.00 C 36 36.00 83 83.00 D 17 17.00 100 100.00 優(yōu)化

4、輸出Number of Patients by Clinic The FREQ Procedure Clinical Center Cumulative Cumulative clinic Frequency Percent

5、 Frequency Percent ---------------------------------------------------------------- Birmingham 18 18.00 18 18.00 Chicago 29 29.00

6、 47 47.00 Minneapolis 36 36.00 83 83.00 Pittsburgh 17 17.00 100 100.00,,標(biāo)準(zhǔn)輸出 The FREQ Procedure

7、 Cumulative Cumulative sebl_6 Frequency Percent Frequency Percent ----------------------------------------------------------- 1 70 70.00

8、 70 70.00 2 23 23.00 93 93.00 3 6 6.00 99 99.00 4 1 1.00 100

9、 100.00 優(yōu)化輸出The FREQ Procedure Patient Report Headaches Cumulative Cumulative sebl_6 Frequency Percent Frequency Percent ---

10、---------------------------------------------------------- None 70 70.00 70 70.00 Mild 23 23.00 93 93.00 Moderate

11、 6 6.00 99 99.00 Severe 1 1.00 100 100.00,,TITLE 語句PROC FREQ DATA=tdata; TABLES clinic group sex educ sebl_1 sebl_6; TITLE 'Distribution

12、 of Selected Variables'; TITLE2 'on the TOMHS Dataset' ;RUN; TITLE 語句可以放在程序的任何地方。最好是放在過程 步里面 title可隨時改變 使用格式為:TITLE(n)‘文字',Label 語句LABEL clinic = 'Clinical Center';LABEL group

13、= 'Drug Treatment Group';LABEL educ = 'Highest Education Attained';LABEL sebl_1 = 'Patient Report Drowsiness';LABEL sebl_6 = 'Patient Report Headaches';Label 語句可以放在數(shù)據(jù)步或過程步內(nèi)的任何地方(但不

14、可在中間)。,Format 語句FORMAT brthdate mmddyy10. ;FORMAT clinic $clinic. ;FORMAT group group. ;FORMAT fever headache se. ; 告訴SAS 根據(jù)format(格式)顯示變量的數(shù)值 Format 語句可以放在數(shù)據(jù)步或過程步內(nèi)的任何地方 既有內(nèi)置format (例如日期),也有用戶定義的format. 一個f

15、ormat 可用于多個變量 Format以句號結(jié)束 (.) 字符型format以$開始,如何定義FORMATPROC FORMAT; VALUE group 1 = 'Beta Blocker' 2 = 'Calcium Channel Blocker' 3 = 'Diuretic'

16、 4 = 'Alpha Blocker' 5 = 'ACE Inhibitor' 6 = 'Placebo'; VALUE gender 1 = 'Men' 2='Women' ; VALUE se 1 = 'None' 2 = 'Mil

17、d’ 3 = 'Moderate' 4 = 'Severe';Format名稱并不必是數(shù)據(jù)集合內(nèi)一個變量的名稱,,Format名,PROC FORMAT; VALUE $clinic 'A' = 'Birmingham' 'B' = 'Chicago'

18、 'C' = 'Minneapolis' 'D' = 'Pittsburgh' ;請不要混淆format和將要被格式化的變量Sas單從PROC FORMAT不能知道你想要格式化哪個變量。你需要用format語句對變量進行格式化。,* 定義的Format沒有使用;PROC FREQ; TABLES clinic sebl_6

19、;RUN;==========================================* 使用了format;PROC FREQ; TABLES clinic sebl_6; FORMAT clinic $clinic. sebl_6 se. ;RUN;,Program 6PROC FORMAT;...DATA tdata ;INFILE '

20、d:\data\tomhs3.dat';INPUT ptid $ clinic $ group sex educ eversmk alcbl sebl_1 sebl_6 ;run;LABEL clinic = 'Clinical Center';LABEL group = 'Drug Treatment Group';LABEL educ = 'Highest Educ

21、ation Attained';LABEL sebl_1 = 'Patient Report Drowsiness';LABEL sebl_6 = 'Patient Report Headaches';LABEL alcbl = 'Alcoholic Drinks Per Week';LABEL eversmk = 'Ever Smoke Cigarettes&

22、#39;;PROC FREQ DATA=tdata; TABLES clinic sebl_6; FORMAT clinic $clinic. sebl_6 se. ;,PROC MEANS DATA=tdata N MEAN STD; VAR alcbl; CLASS eversmk; ; FORMAT eversmk smoke. ; TITLE 'PROC MEANS With Variable an

23、d Value Labels';RUN;The MEANS Procedure Analysis Variable : alcbl Alcoholic Drinks Per Week Ever Smoke NCigarettes Obs N Mean Std Dev????????????????????

24、????????????????????????????????????Smoker 48 47 5.3829787 6.4892995Non-smoker 52 52 3.5384615 4.6292401????????????????????????????????????????????????????????,需掌握的要點,Form

25、at在使用之前需先定義 (PROC FORMAT).FORMAT 語句可應(yīng)用定義的format.數(shù)據(jù)步里的Label 和 format 語句可用于其后的 PROCs過程步里面的Label 和 format 語句只能用于該過程步 PROC本身,為網(wǎng)絡(luò)或Word/Excel文件創(chuàng)建HTML 表ODS LISTING CLOSE;ODS HTML FILE='educ.html';PROC FREQ DATA=td

26、ata ; TABLES educ; FORMAT educ educ.; TITLE 'HTML Output From PROC FREQ';RUN;ODS HTML CLOSE;The output will go to the html file rather than the .lst file. This can then be viewed on the web or inserted into

27、 word.Can also create RTF files.,,Note: Run statement is needed here, and ODS statement must be after run.,插入Word的html文件,創(chuàng)建一個新變量 grad1= 1 如果大學(xué)畢業(yè) = 2 否則,教育級別變量educ的解釋,,Program 7DATA tdata;INFILE 

28、9;/home/ph5420/data/tomhs.data' ;INPUT @ 1 ptid $10. @ 49 educ 1. @123 sbp12 3. ;* 這樣的話,缺失值被變換為2;if educ =7 then grad1 = 1 ;* 下面的兩種方法結(jié)果一樣且是正確的;if educ =7 then grad2 = 1;* IN 是SAS的一

29、個特殊函數(shù);if educ IN(1,2,3,4,5,6) then grad3 = 2; elseif educ IN(7,8,9) then grad3 = 1;,PROC FORMAT; VALUE grad 1-6 = '< College Graduate' 7-9 = 'College Graduate'; VALUE sbpcat LOW -

30、 119 = '< 120' 120-139 = '120-139' 140-HIGH = '140+' ;注意: LOW 不包括缺失值,PROC FREQ DATA=tdata; TABLES grad1 grad2 grad3 educ ; FORMAT educ grad.;RUN;

31、 grad1 Frequency Percent ---------------------------------- 1 43 43.00 2 57 57.00

32、 grad2 Frequency Percent ---------------------------------- 1 43 43.43 2 56 56.57

33、 Frequency Missing = 1 grad3 Frequency Percent ---------------------------------- 1 43 43.43

34、 2 56 56.57 Frequency Missing = 1 educ Frequency Percent ----------------------------------------------- < College Graduate 56 56.57

35、 College Graduate 43 43.43,,缺失值被變成2,,最初的變量值為 1-9,* 把變量sbp12 變換成 3 個級別;if sbp12 = . then sbp12c = . ; elseif sbp12 =140 then sbp12c = 3 ; With if-then-else definitions SAS

36、stops reading after the first true statement,,PROC FREQ DATA=tdata; TABLES sbp12c sbp12; FORMAT sbp12 sbpcat.;RUN;OUTPUT The FREQ Procedure

37、 Cumulative Cumulative sbp12c Frequency Percent Frequency Percent ------------------------------------------------------------ 1 36 39.13 3

38、6 39.13 2 43 46.74 79 85.87 3 13 14.13 92 100.00 Frequency Missing = 8

39、 Cumulative Cumulative sbp12 Frequency Percent Frequency Percent------------------------------------------------------------< 120 36 39.13 36

40、 39.13 120-139 43 46.74 79 85.87 140+ 13 14.13 92 100.00 Frequency Missing = 8,* 代價慘重的簡單錯誤;if sbp12 = . then

41、sbp12c = . ; elseif sbp12 =140 then sbp12c = 3 ;PROC FREQ DATA=tdata; TABLES sbp12c;RUN;The FREQ Procedure Cumulative Cumulativesbp12cat Frequency Percent Freq

42、uency Percent????????????????????????????????????????????????????????????? 1 36 73.47 36 73.47 3 13 26.53 49 100.00Frequency Missing

43、= 51,,How come no values of 2 and why so many missing?,創(chuàng)建新變量時需知道:新變量的初始值是缺失值;2.缺失值 < 任何值;3.數(shù)值變量缺失值的指代值為.;4.類別變量缺失值的指代值為‘ ’;if sbp = . then ... if clinic = ' ' then ...,如何檢查新建立的變量是對的?顯示新變量和原變量

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論