/**************************************** Objective: to replicate the variables for the alternative poverty measures (poor1 - poor13) by using the income components, thresholds, and associated parameters used to create those measures. File used: povpu04.sas7bdat (contains only those variables associated with the alternative poverty measurement, and selected demographic and geographic variables) *****************************************/ options ls=75 ; libname NASpuf 'C:\' ; /* Between the single quotes ' ' type the directory path where you saved the alternative poverty public use file. The code above assumes the file was saved in your C drive, and not in any subdirectory. */ proc format; value agefmt 00-17='Under 18 years' 18-64='18 to 64 years' 65-high='65 and over' other='huh?' ; value racefmt 01='1. White alone' 02='2. Black alone' 03='3. AIAN alone' 04='4. Asian alone' 05='5. NH/PI alone' 06-high ='6. two or more' ; value hofmt 01='Hispanic' other='not HO' ; value kindfmt 1='in MC family' 2='in mhh fam' 3='in fhh fam' ; value regfmt 1='Northeast' 2='midwest' 3='south' 4='west' ; value typefmt 1='Primary family' 2,5='Unrel. indiv.' 4='USUB' ; value hispx 1='Hispanic or Latino' 0='Not Hispanic or Latino'; value hinstatx 1='Private Health Coverage' 2='Government Health Coverage' 3='Not Covered'; value adwkx 1='At least one worker in family' 0='No workers in family'; run; data one; set NASpuf.povpu04 ; array testpoor{13} testpoor1-testpoor13 ; /* These thresholds are updates from 1999, using the CPI-U for 2004 (188.9) and the CPI-U for the base year 1999 (166.6) */ testnl1=17036 * (188.9 /166.6) * scaleb * geo2 ; /* Thresholds adjusted for inflation using the CPI and also geographically adjusted (CPI-GEO) */ testnl2=17036 * (188.9 /166.6) * scaleb; /* cpi, NO GEO ADJUSTMENT (NGA) */ /* These thresholds used the most recent available 12 quarters of Consumer Expenditure Survey (CE) data */ testnl3=19984 * scaleb * geo2 ; /* ce,geo */ testnl8=19984 * scaleb ; /*ce, NGA */ /* CPI-adjusted thresholds, with medical out-of-pocket expenditures (MOOP) included in the threshold */ testnl4=(mooplin1 + fcsulin1) * geo2; /* cpi-adjusted thresholds allowing for food, clothing, shelter, utilities, and MOOP (fcsum), geo */ testnl6=(mooplin1 + fcsulin1); /* cpi fcsum nga */ /* Thresholds computed using the CE, including MOOP */ testnl5=(mooplin2 + fcsulin2) * geo2; /* ce fcsum geo */ testnl7=(mooplin2 + fcsulin2) ; /* ce fcsum nga */ /********************* income definitions ******************/ testdef001= ftotval; testdef002 = testdef001 -ffica + (fcapgain-fcaploss) - ffedtaxa-fsttaxa /*def013. Note: ffedtaxa and fsttaxa are after all credits. Variable feitc has been taken account of in this definition, accordingly, since all credits have already been taken into account (reduced tax liability). */ + f_mv_fs + (fhoussub*12) + fmvfsl + fmvrsl +fengval ; testdef003 = testdef001 -ffica + (fcapgain-fcaploss) - ffedtaxa-fsttaxa + f_mv_fs + fmvfsl + fmvrsl +fengval ; /*no houssub in this definition */ testdef004 = testdef003 - combexpc + fmrcap - newmoop; /*exp1 Betson */ testdef005 = testdef003 - combexpc + fmrcap; /*exp3 moopitt */ testdef006 = testdef003 - combexpc + fmrcap - newmoop + mooplin1; /*exp4 cmb cpi nl */ testdef007 = testdef003 - combexpc + fmrcapce - newmoop; /*exp1 betson ce */ testdef008 = testdef003 - combexpc + fmrcapce; /*exp3 moopitt ce */ testdef009 = testdef003 - combexpc + fmrcapce - newmoop + mooplin2 ; /*exp4 cmb ce nl */ /**** compute poverty status ***********/ do i=1 to 13; testpoor(i)=0; end; if ftotval/fpovcut lt 1 then testpoor1=1; /* official measure, computed using income and threshold variables on the CPS ASEC public use file */ if testdef004 lt testnl1 then testpoor2=1; /* msi - cpi */ if testdef004 lt testnl2 then testpoor3=1 ; /* msi - cpi-nga */ if testdef007 lt testnl3 then testpoor4=1; /* msi - ce */ if testdef007 lt testnl8 then testpoor11=1; /* msi-ce-nga */ if testdef005 lt testnl4 then testpoor5=1; /* mit - cpi */ if testdef005 lt testnl6 then testpoor6=1; /* mit - cpi-nga */ if testdef008 lt testnl5 then testpoor7=1; /* mit - ce */ if testdef008 lt testnl7 then testpoor12=1; /* mit-ce-nga */ if testdef006 lt testnl4 then testpoor8=1; /* cmb - cpi*/ if testdef006 lt testnl6 then testpoor9=1; /* cmb - cpi-nga */ if testdef009 lt testnl5 then testpoor10=1 ; /* cmb-ce */ if testdef009 lt testnl7 then testpoor13=1; /* cmb-ce-nga */ poorpub=0 ; if perlis=1 then poorpub=1 ; /* PERLIS is a recode that shows ratio of income to poverty for the official measure (income divided by poverty threshold). Because the recode was computed using internal Census Bureau data, it matches the official Census Bureau publication. */ run ; * race=put(prdtrace, racefmt.) ; proc freq data=one ; tables poorpub poor1-poor13 testpoor1-testpoor13 poor1-poor13*agecat hisp*poor1-poor13*race poor1-poor13*hinstat poor1-poor13*race poor1-poor13*hisp poor1-poor10*adwk famtype*poor1-poor13*famkind poor1-poor13*gereg ; format hinstat hinstatx. hisp hispx. gereg regfmt. ; title ' ' ; title2 'Tables derived from the povpu04 dataset' ; title3 'Unweighted record counts by poverty definition' ; run ; title ; title2 ; title3 ; proc print data=one (obs=100) ; var peridnum h_seq ffpos pppos agecat ftotval fpovcut testpoor1 poor1 poorpub adwk ; title 'first hundred observations' ; title2 'derived from the povpu04 dataset' ; run ; title ; title2 ; proc print data=one (obs=100) ; where poor2 ne testpoor2 ; var peridnum h_seq ffpos pppos agecat ftotval fpovcut testpoor1 poor1 poorpub adwk ; title 'first hundred obs with poor2 not equal to testpoor2' ; /* If the "testpoor" variable computed within this program matches the alternative poverty variable from the povpu04 file, we expect there to be zero observations output in this step. */ title2 'derived from the povpu04 dataset' ; run ; title ; title2 ;