libname james "c:\sasdat\james"; options linesize=250; options pagesize=250; *Replication Dataset, October 1, 2007; *Elvin Wyly, ewyly@geog.ubc.ca; *Running to Stand Still / Through the Looking Glass with Federal Housing Policy in New York City; *Urban Affairs Review; *Prerequisites: James.Master, SAS dataset compiled from records from HUD (FOIA requests, LIHTC; *Database, Multifamily Terminated Projects Data), Community Service Society of New York research; *and U.S. Bureau of the Census measures for tract demographic and housing conditions; *Note that several percentage variables where 2000 Census Data are used as the denominator, the; *measures exceed 100 percent, in some cases by large margins. These cases occur in census tracts; *with small population or household counts in 2000. Instead of excluding assisted households in these; *tracts, we dealt with the bias of small numbers by weighting all models and statistical tests with; *the total number of households; *****************; *Weighted Multiple-Comparison Tests, Produces Table 3; *****************************************************; filename group1 'c:\group1.txt'; filename group2 'c:\group2.txt'; filename group3 'c:\group3.txt'; filename group4 'c:\group4.txt'; filename group5 'c:\group5.txt'; filename group6 'c:\group6.txt'; filename group7 'c:\group7.txt'; filename group8 'c:\group8.txt'; filename group9 'c:\group9.txt'; data james.add1 (compress=yes); set james.master; where numhhs0 gt 0; file group1; do count=1 to numhhs0; put pgrowth shrnhw0 shrnhb0 shrnha0 shrhsp0 WHITCHNG BLCKCHNG HISPCHNG avhhin0 igrowth elite povrat0 pubinc0 ownrate0 ownrachg rvacrat0 hgrowth med03 cap03 fmratio; end; run; data james.add2 (compress=yes); set james.master; where hcvnum gt 0; file group2; do count=1 to hcvnum; put pgrowth shrnhw0 shrnhb0 shrnha0 shrhsp0 WHITCHNG BLCKCHNG HISPCHNG avhhin0 igrowth elite povrat0 pubinc0 ownrate0 ownrachg rvacrat0 hgrowth med03 cap03 fmratio; end; run; data james.add3 (compress=yes); set james.master; where hcvnew gt 0; file group3; do count=1 to hcvnew; put pgrowth shrnhw0 shrnhb0 shrnha0 shrhsp0 WHITCHNG BLCKCHNG HISPCHNG avhhin0 igrowth elite povrat0 pubinc0 ownrate0 ownrachg rvacrat0 hgrowth med03 cap03 fmratio; end; run; data james.add4 (compress=yes); set james.master; where ac_units gt 0; file group4; do count=1 to ac_units; put pgrowth shrnhw0 shrnhb0 shrnha0 shrhsp0 WHITCHNG BLCKCHNG HISPCHNG avhhin0 igrowth elite povrat0 pubinc0 ownrate0 ownrachg rvacrat0 hgrowth med03 cap03 fmratio; end; run; data james.add5 (compress=yes); set james.master; where ot_units gt 100; file group5; do count=1 to ot_units; put pgrowth shrnhw0 shrnhb0 shrnha0 shrhsp0 WHITCHNG BLCKCHNG HISPCHNG avhhin0 igrowth elite povrat0 pubinc0 ownrate0 ownrachg rvacrat0 hgrowth med03 cap03 fmratio; end; run; data james.add6 (compress=yes); set james.master; where ht_units gt 100; file group6; do count=1 to ht_units; put pgrowth shrnhw0 shrnhb0 shrnha0 shrhsp0 WHITCHNG BLCKCHNG HISPCHNG avhhin0 igrowth elite povrat0 pubinc0 ownrate0 ownrachg rvacrat0 hgrowth med03 cap03 fmratio; end; run; data james.add7 (compress=yes); set james.master; where n_liunits gt 0; file group7; do count=1 to n_liunits; put pgrowth shrnhw0 shrnhb0 shrnha0 shrhsp0 WHITCHNG BLCKCHNG HISPCHNG avhhin0 igrowth elite povrat0 pubinc0 ownrate0 ownrachg rvacrat0 hgrowth med03 cap03 fmratio; end; run; data james.add8 (compress=yes); set james.master; where pubunits gt 0; file group8; do count=1 to pubunits; put pgrowth shrnhw0 shrnhb0 shrnha0 shrhsp0 WHITCHNG BLCKCHNG HISPCHNG avhhin0 igrowth elite povrat0 pubinc0 ownrate0 ownrachg rvacrat0 hgrowth med03 cap03 fmratio; end; run; data james.add9 (compress=yes); set james.master; where welfar0n gt 0; file group9; do count=1 to povrat0n; put pgrowth shrnhw0 shrnhb0 shrnha0 shrhsp0 WHITCHNG BLCKCHNG HISPCHNG avhhin0 igrowth elite povrat0 pubinc0 ownrate0 ownrachg rvacrat0 hgrowth med03 cap03 fmratio; end; run; data james.group1 (compress=yes); infile "c:\group1.txt"; input pgrowth shrnhw0 shrnhb0 shrnha0 shrhsp0 WHITCHNG BLCKCHNG HISPCHNG avhhin0 igrowth elite povrat0 pubinc0 ownrate0 ownrachg rvacrat0 hgrowth med03 cap03 fmratio; length group $ 25; group="1 Overall City"; run; data james.group2 (compress=yes); infile "c:\group2.txt"; input pgrowth shrnhw0 shrnhb0 shrnha0 shrhsp0 WHITCHNG BLCKCHNG HISPCHNG avhhin0 igrowth elite povrat0 pubinc0 ownrate0 ownrachg rvacrat0 hgrowth med03 cap03 fmratio; length group $ 25; group="2 HCV Households"; run; data james.group3 (compress=yes); infile "c:\group3.txt"; input pgrowth shrnhw0 shrnhb0 shrnha0 shrhsp0 WHITCHNG BLCKCHNG HISPCHNG avhhin0 igrowth elite povrat0 pubinc0 ownrate0 ownrachg rvacrat0 hgrowth med03 cap03 fmratio; length group $ 25; group="3 Recent HCV"; run; data james.group4 (compress=yes); infile "c:\group4.txt"; input pgrowth shrnhw0 shrnhb0 shrnha0 shrhsp0 WHITCHNG BLCKCHNG HISPCHNG avhhin0 igrowth elite povrat0 pubinc0 ownrate0 ownrachg rvacrat0 hgrowth med03 cap03 fmratio; length group $ 25; group="4 Active PB Units"; run; data james.group5 (compress=yes); infile "c:\group5.txt"; input pgrowth shrnhw0 shrnhb0 shrnha0 shrhsp0 WHITCHNG BLCKCHNG HISPCHNG avhhin0 igrowth elite povrat0 pubinc0 ownrate0 ownrachg rvacrat0 hgrowth med03 cap03 fmratio; length group $ 25; group="5 OT100 Tracts"; run; data james.group6 (compress=yes); infile "c:\group6.txt"; input pgrowth shrnhw0 shrnhb0 shrnha0 shrhsp0 WHITCHNG BLCKCHNG HISPCHNG avhhin0 igrowth elite povrat0 pubinc0 ownrate0 ownrachg rvacrat0 hgrowth med03 cap03 fmratio; length group $ 25; group="6 HT100 Tracts"; run; data james.group7 (compress=yes); infile "c:\group7.txt"; input pgrowth shrnhw0 shrnhb0 shrnha0 shrhsp0 WHITCHNG BLCKCHNG HISPCHNG avhhin0 igrowth elite povrat0 pubinc0 ownrate0 ownrachg rvacrat0 hgrowth med03 cap03 fmratio; length group $ 25; group="7 lilihtc residents"; run; data james.group8 (compress=yes); infile "c:\group8.txt"; input pgrowth shrnhw0 shrnhb0 shrnha0 shrhsp0 WHITCHNG BLCKCHNG HISPCHNG avhhin0 igrowth elite povrat0 pubinc0 ownrate0 ownrachg rvacrat0 hgrowth med03 cap03 fmratio; length group $ 25; group="8 public housing"; run; data james.group9 (compress=yes); infile "c:\group9.txt"; input pgrowth shrnhw0 shrnhb0 shrnha0 shrhsp0 WHITCHNG BLCKCHNG HISPCHNG avhhin0 igrowth elite povrat0 pubinc0 ownrate0 ownrachg rvacrat0 hgrowth med03 cap03 fmratio; length group $ 25; group="9 poverty"; run; data james.monster (compress=yes); set james.group1 james.group2 james.group3 james.group4 james.group5 james.group6 james.group7 james.group8 james.group9; run; proc glm data=james.monster; class group; model pgrowth=group; means group / tukey alpha=0.01;run; proc glm data=james.monster; class group; model shrnhw0=group; means group / tukey alpha=0.01;run; proc glm data=james.monster; class group; model shrnhb0=group; means group / tukey alpha=0.01;run; proc glm data=james.monster; class group; model shrnha0=group; means group / tukey alpha=0.01;run; proc glm data=james.monster; class group; model shrhsp0=group; means group / tukey alpha=0.01;run; proc glm data=james.monster; class group; model WHITCHNG=group; means group / tukey alpha=0.01;run; proc glm data=james.monster; class group; model BLCKCHNG=group; means group / tukey alpha=0.01;run; proc glm data=james.monster; class group; model HISPCHNG=group; means group / tukey alpha=0.01;run; proc glm data=james.monster; class group; model avhhin0=group; means group / tukey alpha=0.01;run; proc glm data=james.monster; class group; model igrowth=group; means group / tukey alpha=0.01;run; proc glm data=james.monster; class group; model elite=group; means group / tukey alpha=0.01;run; proc glm data=james.monster; class group; model povrat0=group; means group / tukey alpha=0.01;run; proc glm data=james.monster; class group; model pubinc0=group; means group / tukey alpha=0.01;run; proc glm data=james.monster; class group; model ownrate0=group; means group / tukey alpha=0.01;run; proc glm data=james.monster; class group; model ownrachg=group; means group / tukey alpha=0.01;run; proc glm data=james.monster; class group; model rvacrat0=group; means group / tukey alpha=0.01;run; proc glm data=james.monster; class group; model hgrowth=group; means group / tukey alpha=0.01;run; proc glm data=james.monster; class group; model med03=group; means group / tukey alpha=0.01;run; proc glm data=james.monster; class group; model cap03=group; means group / tukey alpha=0.01;run; proc glm data=james.monster; class group; model fmratio=group; means group / tukey alpha=0.01;run; *Calculation of Weighted means, applied to the large household-level database in order to provide N's; proc means data=james.monster; var pgrowth shrnhw0 shrnhb0 shrnha0 shrhsp0 WHITCHNG BLCKCHNG HISPCHNG avhhin0 igrowth elite povrat0 pubinc0 ownrate0 ownrachg rvacrat0 hgrowth med03 cap03 fmratio; where group="1 Overall City"; title '1 Overall City'; run; proc means data=james.monster; var pgrowth shrnhw0 shrnhb0 shrnha0 shrhsp0 WHITCHNG BLCKCHNG HISPCHNG avhhin0 igrowth elite povrat0 pubinc0 ownrate0 ownrachg rvacrat0 hgrowth med03 cap03 fmratio; where group="2 HCV Households"; title '2 HCV Households'; run; proc means data=james.monster; var pgrowth shrnhw0 shrnhb0 shrnha0 shrhsp0 WHITCHNG BLCKCHNG HISPCHNG avhhin0 igrowth elite povrat0 pubinc0 ownrate0 ownrachg rvacrat0 hgrowth med03 cap03 fmratio; where group="3 Recent HCV"; title '3 Recent HCV'; run; proc means data=james.monster; var pgrowth shrnhw0 shrnhb0 shrnha0 shrhsp0 WHITCHNG BLCKCHNG HISPCHNG avhhin0 igrowth elite povrat0 pubinc0 ownrate0 ownrachg rvacrat0 hgrowth med03 cap03 fmratio; where group="4 Active PB Units"; title '4 Active PB Units'; run; proc means data=james.monster; var pgrowth shrnhw0 shrnhb0 shrnha0 shrhsp0 WHITCHNG BLCKCHNG HISPCHNG avhhin0 igrowth elite povrat0 pubinc0 ownrate0 ownrachg rvacrat0 hgrowth med03 cap03 fmratio; where group="5 OT100 Tracts"; title '5 OT100 Tracts'; run; proc means data=james.monster; var pgrowth shrnhw0 shrnhb0 shrnha0 shrhsp0 WHITCHNG BLCKCHNG HISPCHNG avhhin0 igrowth elite povrat0 pubinc0 ownrate0 ownrachg rvacrat0 hgrowth med03 cap03 fmratio; where group="6 HT100 Tracts"; title '6 HT100 Tracts'; run; proc means data=james.monster; var pgrowth shrnhw0 shrnhb0 shrnha0 shrhsp0 WHITCHNG BLCKCHNG HISPCHNG avhhin0 igrowth elite povrat0 pubinc0 ownrate0 ownrachg rvacrat0 hgrowth med03 cap03 fmratio; where group="7 lilihtc residents"; title '7 lilihtc residents'; run; proc means data=james.monster; var pgrowth shrnhw0 shrnhb0 shrnha0 shrhsp0 WHITCHNG BLCKCHNG HISPCHNG avhhin0 igrowth elite povrat0 pubinc0 ownrate0 ownrachg rvacrat0 hgrowth med03 cap03 fmratio; where group="8 public housing"; title '8 public housing'; run; proc means data=james.monster; var pgrowth shrnhw0 shrnhb0 shrnha0 shrhsp0 WHITCHNG BLCKCHNG HISPCHNG avhhin0 igrowth elite povrat0 pubinc0 ownrate0 ownrachg rvacrat0 hgrowth med03 cap03 fmratio; where group="9 poverty"; title '9 poverty'; run; *********************************; *Poverty Models, produces Table 4; **********************************; proc reg data=james.master simple; title 'weighted poverty model 1'; weight numhhs0; model povrat0 = ac_pct hcvpct / tol stb scorr1 scorr2; run; proc reg data=james.master; title 'weighted poverty model 2'; weight numhhs0; model povrat0 = ac_pct hcvpct avhhin0 pgrowth shrnhb0 shrhsp0 shrnha0 blckchng hispchng ownrate0 ownrachg rvacrat0 / tol stb scorr1 scorr2; run; proc reg data=james.master; title 'weighted poverty model 3'; weight numhhs0; model povrat0 = ac_pct hcvpct avhhin0 pgrowth shrnhb0 shrhsp0 shrnha0 blckchng hispchng ownrate0 ownrachg rvacrat0 fmratio / tol stb scorr1 scorr2; run; proc reg data=james.master; where (ac_pct gt 0 and hcvpct gt 0); title 'weighted poverty model 4'; weight numhhs0; model povrat0 = ac_pct hcvpct / tol stb scorr1 scorr2; run; proc reg data=james.master; where (ac_pct gt 0 and hcvpct gt 0); title 'weighted poverty model 5'; weight numhhs0; model povrat0 = ac_pct hcvpct avhhin0 pgrowth shrnhb0 shrhsp0 shrnha0 blckchng hispchng ownrate0 ownrachg rvacrat0 / tol stb scorr1 scorr2; run; proc reg data=james.master; where (ac_pct gt 0 and hcvpct gt 0); title 'weighted poverty model 6'; weight numhhs0; model povrat0 = ac_pct hcvpct avhhin0 pgrowth shrnhb0 shrhsp0 shrnha0 blckchng hispchng ownrate0 ownrachg rvacrat0 fmratio / tol stb scorr1 scorr2; run; *****************************************; *Models of Assisted Housing Concentration; *Produces Table 5; *****************************************; proc reg data=james.master; title '1 general simple hcv'; weight numhhs0; model hcvpct = shrnhb0 shrhsp0 shrnha0 blckchng hispchng / tol stb scorr1 scorr2; run; proc reg data=james.master; title '2 general simple pba'; weight numhhs0; model ac_pct = shrnhb0 shrhsp0 shrnha0 blckchng hispchng / tol stb scorr1 scorr2; run; proc reg data=james.master; title '3 hcv mixed-subsidy'; where (ac_pct gt 0 and hcvpct gt 0); weight numhhs0; model hcvpct = shrnhb0 shrhsp0 shrnha0 blckchng hispchng / tol stb scorr1 scorr2; run; proc reg data=james.master; title '4 pba mixed-subsidy'; where (ac_pct gt 0 and hcvpct gt 0); weight numhhs0; model ac_pct = shrnhb0 shrhsp0 shrnha0 blckchng hispchng / tol stb scorr1 scorr2; run; *************************************************************; *The general test for racial segregation and assisted housing; *Produces output in Tables 6 and 7. ; *************************************************************; proc reg data=james.master; title 'weighted hcv segregation models'; weight hcvnum; model hcvnhb = shrnhb0 povrat0 pubinc0 avhhin0 ownrate0 ownrachg rvacrat0 fmratio hcvpct hcveld hcvrec / tol stb scorr1 scorr2 ; model hcvnhw = shrnhw0 povrat0 pubinc0 avhhin0 ownrate0 ownrachg rvacrat0 fmratio hcvpct hcveld hcvrec / tol stb scorr1 scorr2 ; model hcvhis = shrhsp0 povrat0 pubinc0 avhhin0 ownrate0 ownrachg rvacrat0 fmratio hcvpct hcveld hcvrec / tol stb scorr1 scorr2 ; model hcvasn = shrnha0 povrat0 pubinc0 avhhin0 ownrate0 ownrachg rvacrat0 fmratio hcvpct hcveld hcvrec / tol stb scorr1 scorr2 ; run; proc reg data=james.master; title 'weighted pb segregation models'; weight ac_units; model pbpblk = shrnhb0 povrat0 pubinc0 avhhin0 ownrate0 ownrachg rvacrat0 fmratio ac_pct / tol stb scorr1 scorr2 ; model pbpwht = shrnhw0 povrat0 pubinc0 avhhin0 ownrate0 ownrachg rvacrat0 fmratio ac_pct / tol stb scorr1 scorr2 ; model pbphsp = shrhsp0 povrat0 pubinc0 avhhin0 ownrate0 ownrachg rvacrat0 fmratio ac_pct / tol stb scorr1 scorr2 ; model pbpasn = shrnha0 povrat0 pubinc0 avhhin0 ownrate0 ownrachg rvacrat0 fmratio ac_pct / tol stb scorr1 scorr2 ; run;