DM 'CLE LOG; CLE OUT'; ************************************************************************** July 15, 2008 THIS IS AN EXAMPLE OF A SAS PROGRAM THAT CREATES A SAS FILE FROM THE NHIS 1963 HOUSEHOLD.DAT ASCII FILE. NOTE: THE FORMAT DEFINITIONS GIVEN BELOW WILL RESULT IN PROCEDURE OUTPUT SHOWING VALUES THAT HAVE BEEN GROUPED AS THEY ARE SHOWN IN THE FILE LAYOUT DOCUMENTATION. THIS IS STORED IN HOUSEHOLD.SAS *************************************************************************; * USER NOTE: PLACE NEXT TWO STATEMENTS IN SUBSEQUENT PROGRAMS; LIBNAME NHIS 'C:\NHIS1963'; LIBNAME LIBRARY 'C:\NHIS1963'; FILENAME ASCIIDAT 'C:\PU\1963\dat\HOUSEHOLD.DAT'; * DEFINE VARIABLE VALUES FOR REPORT; PROC FORMAT LIBRARY=LIBRARY; VALUE HHP001X 1 = "July-September 1962" 2 = "October-December 1962" 3 = "January-March 1963" 4 = "April-June 1963" ; VALUE HHP002X 1 = "Northeast (includes sections 1 and 2)" 2 = "North Central (includes sections 3,4 and 5)" 3 = "South (includes sections 6,7,8 and 9)" 4 = "West (includes sections 10 and 11)" ; VALUE HHP003X ; VALUE HHP004X ; VALUE HHP005X ; VALUE HHP006X ; VALUE $HHP007X ; VALUE $HHP008X '&' = "January" '4' = "July" '-' = "February" '5' = "August" '0' = "March" '6' = "September" '1' = "April" '7' = "October" '2' = "May" '8' = "November" '3' = "June" '9' = "December" ; VALUE $HHP009X '&' = "Interviewed Household" ' ' = "Type B or C" '0' = "Refusal" '1' = "No one home" '2' = "Temporarily absent" '3' = "Other" ; VALUE HHP010X . = "Not Type B" 0 = "Vacant - nonseasonal" 1 = "Vacant - seasonal" 2 = "Usual residence elsewhere" 3 = "Armed Forces" 4 = "Other" ; VALUE HHP011X . = "Not Type C" 0 = "Demolished" 1 = "Mistake" 2 = "Eliminated in Sub-sample" 3 = "Other" ; VALUE HHP012X 1 = "Yes" 2 = "No" 3 = "DK" ; VALUE HHP013X 1 = "In Standard Metropolitan Statistical Areas - In central City" 2 = "In Standard Metropolitan Statistical Areas - Not in central City" 4 = "Not in Standard Metropolitan Statistical Areas" ; VALUE HHP014X 0 = "Housing Unit" 1 = "Other" ; VALUE HHP015X ; VALUE HHP016X 3 = "1963" ; VALUE HHP017X ; VALUE HHP018X ; DATA NHIS.HOUSEHOLD; * CREATE A SAS DATA SET STORED IN DIR 'C:\NHIS1963'; INFILE ASCIIDAT LRECL=126; * DEFINE LENGTH OF NUMERIC VARIABLES; LENGTH QUARTER 3 REGION 3 PSURANDR 3 WEEK 3 SEGMENT 3 HHID 3 TYPEB 3 TYPEC 3 PHONE 3 SMSA 3 HHUNIT 3 DUNIT 3 YEAR 3 WTIQ 8 WTFA_HH 4 ; * INPUT ALL VARIABLES; INPUT QUARTER 1 - 1 REGION 2 - 2 PSURANDR 10 - 12 WEEK 13 - 14 SEGMENT 15 - 16 HHID 17 - 18 RECTYPE $ 21 - 21 MONTH $ 23 - 23 TYPEA $ 26 - 26 TYPEB 28 - 28 TYPEC 29 - 29 PHONE 32 - 32 SMSA 101 - 101 HHUNIT 102 - 102 DUNIT 103 - 104 YEAR 108 - 108 WTIQ 109 - 120 .1 WTFA_HH 121 - 126 ; * DEFINE VARIABLE LABELS; LABEL QUARTER = "QUARTER" REGION = "REGION" PSURANDR = "PSU – RANDOM RECODE" WEEK = "WEEK OF QUARTER" SEGMENT = "SEGMENT NUMBER" HHID = "HOUSEHOLD NUMBER" RECTYPE = "RECORD TYPE (-)" MONTH = "MONTH" TYPEA = "TYPE A - REASON FOR NON-INTERVIEW" TYPEB = "TYPE B - REASON FOR NON-INTERVIEW" TYPEC = "TYPE C - REASON FOR NON-INTERVIEW" PHONE = "HAS TELEPHONE" SMSA = "STANDARD METROPOLITAN STATISTICAL AREAS" HHUNIT = "TYPE OF LIVING QUARTERS" DUNIT = "SPECIAL DWELLING PLACE CODE" YEAR = "FISCAL YEAR" WTIQ = "BASIC WEIGHT AFTER 1ST-STAGE RATIO ADJUSTMENT ONE IMPLIED DECIMAL" WTFA_HH = "ANNUAL BASIC WEIGHT AFTER 1ST-STAGE RATIO ADJUSTMENT" ; * ASSOCIATE VARIABLES WITH FORMAT VALUES; FORMAT QUARTER HHP001X. REGION HHP002X. PSURANDR HHP003X. WEEK HHP004X. SEGMENT HHP005X. HHID HHP006X. RECTYPE $HHP007X. MONTH $HHP008X. TYPEA $HHP009X. TYPEB HHP010X. TYPEC HHP011X. PHONE HHP012X. SMSA HHP013X. HHUNIT HHP014X. DUNIT HHP015X. YEAR HHP016X. WTIQ HHP017X. WTFA_HH HHP018X. ; PROC CONTENTS DATA=NHIS.HOUSEHOLD; PROC FREQ DATA=NHIS.HOUSEHOLD; TITLE1 'FREQUENCY REPORT FOR 1963 NHIS PUBLIC USE HOUSEHOLD FILE'; TITLE2 '(WEIGHTED)'; TABLES RECTYPE/LIST MISSING; WEIGHT WTFA_HH; PROC FREQ DATA=NHIS.HOUSEHOLD; TITLE1 'FREQUENCY REPORT FOR 1963 NHIS PUBLIC USE HOUSEHOLD FILE'; TITLE2 '(UNWEIGHTED)'; TABLES RECTYPE/LIST MISSING; * USER NOTE: TO SEE UNFORMATTED VALUES IN PROCEDURES, ADD THE STATEMENT: FORMAT _ALL_; RUN;