*rsubmit; /**************************************** 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: POV2009PU.sas7bdat (contains only those variables associated with the alternative poverty measurement, and selected demographic and geographic variables) *****************************************/ options pageno=1; libname pubuse '/phsb/Laryssa/NAS/NAS Public Use File'; * libname MYSPACE '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 0-17='Under 18 years' 18-64='18 to 64 years' 65-high='65 and over' ; value racefmt 1='1. White alone' 2='2. Black alone' 3='3. AIAN alone' 4='4. Asian alone' 5='5. NH/PI alone' 6-high ='6. two or more' ; 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; *proc contents data=pubuse.pov2009pu; *run; *proc means data=pubuse.pov2009pu; *weight pwgt000; *run; proc freq data=pubuse.pov2009pu; tables poor1-poor13; weight pwgt000 ; data one; set pubuse.pov2009pu; array testpoor{13} testpoor1-testpoor13 ; *** These thresholds are updates from 1999, using the CPI-U for 2009 (214.537) and the CPI-U for the base year 1999 (166.6) **; testnl1=17036 * (214.537 /166.6) * scaleb * geo2 ; *** Thresholds adjusted for inflation using the CPI and also geographically adjusted (CPI-GEO) ***; testnl2=17036 * (214.537 /166.6) * scaleb; *** cpi, NO GEO ADJUSTMENT (NGA) **; *** These thresholds used the most recent available 12 quarters of Consumer Expenditure Survey (CE) data ***; testnl3=24522 * scaleb * geo2 ; ** ce,geo **; testnl8=24522 * 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; ** Note: ffedtax and fsttax are net of all credits ***; testdef002 = ftotval -ffica - ffedtax - fsttax + f_mv_fs + /*(input(*/fhoussub /*, 3.)*12)*/ + fmvfsl + fmvrsl +fengval+ ferp_val ; testdef003 = ftotval -ffica - ffedtax -fsttax + f_mv_fs + fmvfsl + fmvrsl +fengval + ferp_val; **no houssub in this definition ***; testdef004 = testdef003 - combexpc + fmrcap - newmoopcap; ** exp1 Betson **; testdef005 = testdef003 - combexpc + fmrcap; ** exp3 moopitt **; testdef006 = testdef003 - combexpc + fmrcap - newmoopcap + mooplin1; ** exp4 cmb cpi nl **; testdef007 = testdef003 - combexpc + fmrcapce - newmoopcap; ** exp1 betson ce **; testdef008 = testdef003 - combexpc + fmrcapce; ** exp3 moopitt ce **; testdef009 = testdef003 - combexpc + fmrcapce - newmoopcap + mooplin2 ; ** exp4 cmb ce nl **; /**** compute poverty status ***********/ do i=1 to 13; testpoor(i)=0; end; if ftotval lt fpovcut 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 **; label testpoor1='test of variable poor1' testpoor2='test of variable poor2' testpoor3='test of variable poor3' testpoor4='test of variable poor4' testpoor5='test of variable poor5' testpoor6='test of variable poor6' testpoor7='test of variable poor7' testpoor8='test of variable poor8' testpoor9='test of variable poor9' testpoor10='test of variable poor10' testpoor11='test of variable poor11' testpoor12='test of variable poor12' testpoor13='test of variable poor13'; run ; title1 'Poverty on Research File - povpu09.sas7bdat'; title2; title3; proc contents data=pubuse.pov2009pu; run; title2 'Public Use CPS ASEC 2010 to estimate calendar year 2009' ; title3 'Unweighted' ; *********** This first set of tabulations compares the alternative poverty recodes on the file to a calculated poverty recode using income and thresholds available ***********; proc freq data=one ; tables poor1*testpoor1 poor2*testpoor2 poor3*testpoor3 poor4*testpoor4 poor5*testpoor5 poor6*testpoor6 poor7*testpoor7 poor8*testpoor8 poor9*testpoor9 poor10*testpoor10 poor11*testpoor11 poor12*testpoor12 poor13*testpoor13 ; * weight pwgt000; run; title3 'Weighted - numbers in thousands' ; *********** This second set of tabulations computes weighted estimate by NAS-based alternative definition.***********; proc freq data=one ; tables poor1-poor13; /* tables poor1-poor13*age */ /* hisp*poor1-poor13*race */ /* poor1-poor13*hinstat */ /* poor1-poor13*race */ /* poor1-poor13*hisp */ /* poor1-poor10*adwk */ /* type*poor1-poor13*kind */ /* poor1-poor13*gereg ; */ weight pwgt000 ; format hinstat hinstatx. hisp hispx. gereg regfmt. race racefmt. age agefmt. kind kindfmt. type typefmt.; run ; proc means data=one N mean min max ; var ftotval testdef001-testdef009 testnl1-testnl8 f_mv_fs fhoussub; weight pwgt000 ; run; proc means data=one N mean min max ; var ffica ffedtax fsttax /*fstimulus */ fmvfsl fmvrsl fengval combexpc fmrcapce newmoopcap; weight pwgt000 ; run; title3 'first twenty-five observations' ; proc print data=one (obs=25) ; var h_seq ffpos ppos age race ftotval fpovcut testpoor1 poor1 testdef004 testnl1 testpoor2 poor2 ; run ; *endrsubmit;