/**************************************************************************/ /* PROGRAM : MERGING_CSHCN_DATASETS.SAS */ /* */ /* PURPOSE : THIS PROGRAM DEMONSTRATES MERGING OF CSHCN DATA FILES */ /************************************************************************ */ ** "puf" REFERS TO THE DIRECTORY WHERE THE **; ** PERMANENT SAS DATASETS ARE CONTAINED **; libname puf 'C:\CSHCN\'; ** "library" REFERS TO THE DIRECTORY WHERE **; ** PERMANENT FORMATS ARE GOING TO BE STORED **; libname library 'C:\CSHCN\'; /* STEP 1 */ /* GRAB NEEDED VARIABLES FROM THE PERMANENT FORMATTED HOUSEHOLD FILE */ /* CREATE A TEMPORARY SAS DATA SET CALLED HOUSE CONTAINING HOUSEHOLD */ /* LINK VARIABLE AND HOUSEHOLD POVERTY LEVEL INFORMATION */ data house; set puf.household_formatted(keep = idnumr povlevel); run; proc sort data = house; /* SORT HOUSEHOLD FILE BY HOUSEHOLD LINK VARIABLE */ by idnumr; run; /* STEP 2 */ /* GRAB NEEDED VARIABLES FROM THE PERMANENT FORMATTED INTERVIEW FILE */ /* CREATE A TEMPORARY SAS DATA SET CALLED INTERVIEW CONTAINING HOUSEHOLD */ /* LINK VARIABLE AND INTERVIEW VARIABLE UNMET NEED VARIABLE */ data interview; set puf.interview_formatted(keep = idnumr c4q03); run; proc sort data = interview; /* SORT INTERVIEW FILE BY HOUSEHOLD LINK VARIABLE */ by idnumr; run; /* STEP 3 */ /* THIS DATA STEP MERGES THE HOUSE AND THE INTERVIEW FILE */ /* BY THE HOUSEHOLD LINK VARIABLE TO CREATE A COMBINED DATA SET */ data combine; merge house(in = one) interview(in = two); by idnumr; /* MERGE THE TWO FILES BY THE HOUSEHOLD LINK VARIABLE */ if one and two; run; /* STEP 4 */ /* THIS DATA STEP PRODUCES A CROSSTAB BETWEEN HOUSEHOLD POVERTY */ /* LEVEL AND THE INTERVIEW LEVEL UNMET NEED VARIABLE */ proc freq data = combine; where c4q03 not in (6,7); tables povlevel * c4q03; title1 "Cross-Tabulation of Household Level Variable and Interview Level Variable"; run;