libname public 'C:/'; 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; /*Use the dataset povpu02.sas7bdat if you want all variables including the poverty variables needed to create the experimental poverty measures PLEASE NOTE: the dataset povpu02.sas7bdat is very LARGE*/ /*Use the dataset povpu02_alt.sas7bdat if you only want the poverty variables needed to create the experimental poverty measures*/ data one; set public.povpu02_alt; array poor{13} poor1-poor13; nl1=17036 * (179.9/166.6) * scaleb * geo2; /* cpi, geo*/ nl2=17036 * (179.9/166.6) * scaleb; /* cpi, NO GEO*/ nl3=19329 * scaleb * geo2; /* ce,geo */ nl3nga=19329 * scaleb ; /*ce, NGA */ nl4=(mooplin1 + fcsulin1) * geo2; /* cpi fcsum geo */ nl6=(mooplin1 + fcsulin1); /* cpi fcsum nga*/ nl5=(mooplin2 + fcsulin2) * geo2; /* ce fcsum geo */ nl7=(mooplin2 + fcsulin2) ; /* ce fcsum nga */ /********************* income definitions ******************/ def001= ftotval; def002 = def001 -ffica + (fcapgain-fcaploss) - ffedtax-fsttax+feitc /*def013*/ + f_mv_fs + (fhoussub* 12) + fmvfsl + fmvrsl +fengval; def003 = def001 -ffica + (fcapgain-fcaploss) - ffedtax-fsttax+feitc /*no houssub in*/ + f_mv_fs + fmvfsl + fmvrsl +fengval; def004 = def003 - combexpc + fmrcap - newmoop; /*exp1 betson */ def005 = def003 - combexpc + fmrcap; /*exp3 moopitt */ def006 = def003 - combexpc + fmrcap - newmoop + mooplin1; /*exp4 cmb cpi nl*/ def007 = def003 - combexpc + fmrcapce - newmoop; /*exp1 betson ce */ def008 = def003 - combexpc + fmrcapce; /*exp3 moopitt ce */ def009 = def003 - combexpc + fmrcapce - newmoop + mooplin2 ; /*exp4 cmb ce nl*/ /**** compute poverty status ***********/ do i=1 to 13; poor(i)=0; end; if ftotval lt fpovcut then poor1=1; /* official measure */ if def004 lt nl1 then poor2=1; /* msi - cpi */ if def004 lt nl2 then poor3=1 ; /* msi - cpi-nga */ if def007 lt nl3 then poor4=1; /* msi - ce */ if def007 lt nl3nga then poor11=1; /* msi-ce-nga */ if def005 lt nl4 then poor5=1; /* mit - cpi */ if def005 lt nl6 then poor6=1; /* mit - cpi-nga */ if def008 lt nl5 then poor7=1; /* mit - ce */ if def008 lt nl7 then poor12=1; /* mit-ce-nga */ if def006 lt nl4 then poor8=1; /* cmb - cpi*/ if def006 lt nl6 then poor9=1; /* cmb - cpi-nga */ if def009 lt nl5 then poor10=1 ; /* cmb-ce */ if def009 lt nl7 then poor13=1; /* cmb-ce-nga */ run; proc freq; tables poor1-poor13 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*hg_reg ; weight marsupwt; format hinstat hinstatx. hisp hispx. adwk adwkx.; run;