OPTIONS LINESIZE=72 PAGESIZE=55 NODATE NONUMBER NOCENTER; ******************************************************************; *** Program Name Date Disk Label Programmer ; TITLE1 "Source: PRET2.SAS 10/5/98 Ed Stanek " ; * DESCRIPTION: Read in ICU Data to Illustrate PROC FORMAT ; ******************************************************************; DATA icu (KEEP=icuid sex race crace); INFILE CARDS FIRSTOBS=11; INPUT icuid sta age sex race ser can crn inf cpr sys hra pre typ fra po2 ph pco bic cre loc; IF race=1 then crace="W"; IF race=2 then crace="B"; IF race=3 then crace="O"; CARDS; The data in this file are those of Appendix 2 from Hosmer, D.W. and Lemeshow, S. (1989) Applied Logistic Regression, John Wiley and Sons, New York. They are reproduced here with the permission of the publisher and as such are copyright. R S A S A S C C I C S H P T F P P B C L I T G E C E A R N P Y R R Y R O P C I R O D A E X E R N N F R S A E P A 2 H O C E C 8 0 27 1 1 0 0 0 1 0 142 88 0 1 0 0 0 0 0 0 0 12 0 59 0 1 0 0 0 0 0 112 80 1 1 0 0 0 0 0 0 0 14 0 77 0 1 1 0 0 0 0 100 70 0 0 0 0 0 0 0 0 0 28 0 54 0 1 0 0 0 1 0 142 103 0 1 1 0 0 0 0 0 0 32 0 87 1 1 1 0 0 1 0 110 154 1 1 0 0 0 0 0 0 0 38 0 69 0 1 0 0 0 1 0 110 132 0 1 0 1 0 0 1 0 0 40 0 63 0 1 1 0 0 0 0 104 66 0 0 0 0 0 0 0 0 0 41 0 30 1 1 0 0 0 0 0 144 110 0 1 0 0 0 0 0 0 0 42 0 35 0 2 0 0 0 0 0 108 60 0 1 0 0 0 0 0 0 0 50 0 70 1 1 1 1 0 0 0 138 103 0 0 0 0 0 0 0 0 0 51 0 55 1 1 1 0 0 1 0 188 86 1 0 0 0 0 0 0 0 0 53 0 48 0 2 1 1 0 0 0 162 100 0 0 0 0 0 0 0 0 0 58 0 66 1 1 1 0 0 0 0 160 80 1 0 0 0 0 0 0 0 0 61 0 61 1 1 0 0 1 0 0 174 99 0 1 0 0 1 0 1 1 0 73 0 66 0 1 0 0 0 0 0 206 90 0 1 0 0 0 0 0 1 0 75 0 52 0 1 1 0 0 1 0 150 71 1 0 0 0 0 0 0 0 0 82 0 55 0 1 1 0 0 1 0 140 116 0 0 0 0 0 0 0 0 0 84 0 59 0 1 0 0 0 1 0 48 39 0 1 0 1 0 1 1 0 2 92 0 63 0 1 0 0 0 0 0 132 128 1 1 0 0 0 0 0 0 0 96 0 72 0 1 1 0 0 0 0 120 80 1 0 0 0 0 0 0 0 0 98 0 60 0 1 0 0 0 1 1 114 110 0 1 0 0 0 0 0 0 0 100 0 78 0 1 1 0 0 0 0 180 75 0 0 0 0 0 0 0 0 0 ; PROC PRINT DATA=icu; ID icuid; VAR sex race crace; TITLE2 "Table 2. List of Sex and Race for Sample Subjects in ICU study"; RUN; *****************************************************************; *** Detailed statements illustrating Making OUTPUT PRETTY *; *****************************************************************; PROC FORMAT; VALUE sexf 0="Male(0)" 1="Female(1)"; VALUE racef 1="White(1)" 2="Black(2)" 3="Other(3)"; VALUE sex2f 0="Male" 1="Female"; VALUE race2f 1="White" 2="Black" 3="Other"; VALUE $cracef "W"="White" "B"="Black" "O"="Other"; PROC PRINT DATA=icu; ID icuid; VAR sex race crace; FORMAT sex sexf. race racef. crace $cracef.; TITLE2 "Table 2a1. List of Sex and Race with Formatted Values that include Number Codes"; PROC PRINT DATA=icu; ID icuid; VAR sex race crace; FORMAT sex sex2f. race race2f. crace $cracef.; TITLE2 "Table 2a2. List of Sex and Race with Formatted Values without number codes"; PROC FORMAT; VALUE sexf 0="Male(0)" 1="Female(1)"; VALUE racef 1="White(1)" 2="Black(2)" 3="Other(3)"; PROC FREQ DATA=icu; TABLES sex*race; FORMAT sex sexf. race racef.; TITLE2 "Table 2b. Linking Formats with PROC FREQ"; PROC FORMAT; VALUE sexf 0="Male(0)" 1="Female(1)"; VALUE racef 1="White(1)" 2="Black(2)" 3="Other(3)"; DATA icu1; SET icu; FORMAT sex sexf. race racef.; PROC PRINT DATA=icu1; ID icuid; VAR sex race; TITLE2 "Table 2c. Using dataset ICU1 with Formats Linked to Variables"; PROC FORMAT; VALUE sexf 0="Male(0)" 1="Female(1)"; VALUE racef 1="White(1)" 2="Black(2)" 3="Other(3)"; DATA icu1; SET icu; FORMAT sex sexf. race racef.; PROC PRINT DATA=icu1; ID icuid; VAR sex race; FORMAT sex race; TITLE2 "Table 2d. Ignoring Formats Stored in a SAS Data Set"; LIBNAME save "C:\temp\"; PROC FORMAT; VALUE sexf 0="Male(0)" 1="Female(1)"; VALUE racef 1="White(1)" 2="Black(2)" 3="Other(3)"; DATA save.icu2; SET icu; FORMAT sex sexf. race racef.; ******************************; **** Close SAS, then start a *; **** new SAS session ; ******************************; OPTIONS LINESIZE=72 PAGESIZE=55 NODATE NONUMBER NOCENTER NOFMTERR; LIBNAME old "C:\temp\"; DATA icu2; SET old.icu2; PROC CONTENTS DATA=icu2; TITLE2 "Table 2e1. Illustrating Format links to Variables in Data set"; PROC PRINT DATA=icu2; ID icuid; VAR sex race; TITLE2 "Table 2e2. Listing showing that formats are not used since they "; TITLE3 " are not part of the Current SAS Session"; LIBNAME save "c:\temp\"; PROC FORMAT CNTLOUT=save.icuf; VALUE sexf 0="Male(0)" 1="Female(1)"; VALUE racef 1="White(1)" 3="Other(3)"; DATA save.icu3; SET icu2; FORMAT sex sexf. race racef.; PROC CONTENTS DATA=save.icuf; TITLE2 "Table 2f. Contents of a Data set Created by PROC FORMAT"; ******************************; **** Close SAS, then start a *; **** new SAS session ; ******************************; LIBNAME old "c:\temp\"; PROC FORMAT CNTLIN=old.icuf; DATA icu3; SET old.icu3; PROC PRINT DATA=icu3; ID icuid; VAR sex race; TITLE2 "Table 2g. Using permanently saved SAS Formats that are in a Permanent SAS data set"; PROC FORMAT CNTLIN=old.icuf CNTLOUT=old.icu3f; VALUE racef 1="White(1)" 2="Black(2)" 3="Other(3)"; PROC PRINT DATA=icu3; ID icuid; VAR sex race; TITLE2 "Table 2h. Illustrating Updating Using permanently saved SAS Formats that are in a Permanent SAS data set"; RUN;