* **************************************************************** * **************************************************************** * File-Name: JCR_replication_materials_land_conflicts.do * Date: 2016/05/18 * Author: Michael Albertus, Thomas Brambor, Ricardo Ceneviva * Purpose: Replication Materials for * Journal of Conflict Resolution * "Land Inequality and Rural Unrest: * Theory and Evidence from Brazil" * **************************************************************** * **************************************************************** * PAPER: * Table 2. Determinants of Land Invasions in Brazil, 1988–2013 * Table 3. Identifying Spillover Effects of Land Reforms on Land Invasions, 1988–2013 * Table 4. Rural Assassinations and Spillover Effects of Land Reforms, 1988-2013 * Table 5. Political Connections and Spillover Effects of Land Reforms, 2003-2007 * Figure 3. Marginal Effect of Neighboring Reforms on Invasions ** APPENDIX * Table A1. Descriptive Statistics * Table A4. Determinants of Land Invasions in Brazil, 1988-2013: Including Municipal Fixed Effects as Robustness Check * Table A5. Determinants of Land Invasions in Brazil, 1988-2013: Using Two-Year Lags as Robustness Check * Table A6. Identifying Spillover Effects of Land Reforms on Land Invasions, 1988–2013: Using Two-Year Lags as Robustness Check * Table A7. Sensitivity of Spillover Effects to Controls for Agricultural Production, 1988–2013 * Table A8: * Table A9. Sensitivity to Removing Interpolated Variables, 1988–2013 * Table A10.Sensitivity to Clustering Standard Errors by Mesoregion, 1988-2013 * Table A11. Sensitivity of Spillover Effects of Land Reforms on Land Invasions to Inclusion of Spatial Lags, 1988–2013 * Table A12. Peasant Organization as an Alternative Explanation for Land Invasions, 1988-2013 * Table A13. PoliticalAffiliation of Governor and the President as an Alternative Explanation for Land Invasions, 1988-2010 * Figure A1. Land Invasions and Land Reforms in Brazil, 1988-2013 * Figure A2. Public Recognitions vs. Private Expropriations by State, 1988-2013 ** Import data use jcr_land_conflict_data.dta, clear tsset ibgecode year est clear * **************************************************************** * Table 2. Determinants of Land Invasions in Brazil, 1988–2013 * **************************************************************** xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) difficult est store invasion1 estadd local TIMEFE "YES" estadd local FE "STATE" xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) difficult est store invasion2 estadd local TIMEFE "YES" estadd local FE "STATE" xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store invasion3 estadd local TIMEFE "YES" estadd local FE "STATE" xi: qui logit invasions_dum L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store invasion4 estadd local TIMEFE "YES" estadd local FE "STATE" xi: qui nbreg invasions_families L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store invasion5 estadd local TIMEFE "YES" estadd local FE "STATE" xi: qui xtnbreg invasions_families L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3, fe dif ** Add some models to the table to test for endogeneity of landgini with land invasions xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if d_gini<.05&d_gini>-.05, cl(ibgecode) dif est store invasion7 estadd local TIMEFE "YES" estadd local FE "STATE" xi: qui logit invasions_dum L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if d_gini<.05&d_gini>-.05, cl(ibgecode) dif est store invasion8 estadd local TIMEFE "YES" estadd local FE "STATE" xi: qui nbreg invasions_families L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if d_gini<.05&d_gini>-.05, cl(ibgecode) dif est store invasion9 estadd local TIMEFE "YES" estadd local FE "STATE" ** Add muni FE models xi: qui xtnbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 if d_gini<.05&d_gini>-.05, fe dif est store invasion10 estadd local TIMEFE "YES" estadd local FE "MUNI" xi: xtlogit invasions_dum L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 if d_gini<.05&d_gini>-.05, fe dif est store invasion11 estadd local TIMEFE "YES" estadd local FE "MUNI" xi: qui xtnbreg invasions_families L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 if d_gini<.05&d_gini>-.05, fe dif est store invasion12 estadd local TIMEFE "YES" estadd local FE "MUNI" * Prepare estout local labrename "L.ruralpc" "Percent Rural" "L.log_inccap" "log(Income per capita)" "L.lnagprodareacult" "log(Ag Productivity)" "L.landgini_extrap" "Land Gini" "L.landgini_reforms" "Land Gini*Reforms" "L.ref_100km" "Neighboring Reforms" estout invasion* using tabJCR02.tex, replace style(tex) starlevels(* .10 ** .05 *** .01) varwidth(40) modelwidth(10) wrap cells(b(star fmt(3)) se(par fmt(3))) collabels(none) mlabels(none) eqlabels(none) varlabels("`labrename'" ) order(L.landgini_extrap L.ref_100km L.landgini_reforms L.ruralpc L.lnagprodareacult L.log_inccap ) subs("Delta " "$\Delta\$") stats(TIMEFE FE N, labels("Time Trend" "Fixed Effects" "Observations") fmt(0 0 0)) drop(*_Istate* *yearcountpoly* _cons) * **************************************************************** * Table 3. Identifying Spillover Effects of Land Reforms on Land Invasions, 1988–2013 * **************************************************************** ** Part A: Exproprations vs. Recognitions (both in and out of state) xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_exprop_100km L.ref_recog_out_100km yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store spilloverA1 estadd local TIMEFE "YES" estadd local FE "YES" xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_exprop_in_100km L.ref_exprop_out_100km L.ref_recog_out_100km yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store spilloverA2 estadd local TIMEFE "YES" estadd local FE "YES" xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_exprop_in_100km L.ref_exprop_out_100km L.ref_recog_out_100km L.ref_recog_in_100km yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store spilloverA3 estadd local TIMEFE "YES" estadd local FE "YES" xi: nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_exprop_recogin_100km L.ref_recog_out_100km yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store spilloverA4 estadd local TIMEFE "YES" estadd local FE "YES" xi: nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_exprop_recogin_100km L.ref_recog_out_100km L.landgini_exp_recogin L.landgini_recog_out yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store spilloverA5 estadd local TIMEFE "YES" estadd local FE "YES" * Test whether Table 3 results are robust to controlling for neighboring land invasions. xi: nbreg invasions_count L.inv_100km L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_exprop_recogin_100km L.ref_recog_out_100km L.landgini_exp_recogin L.landgini_recog_out yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store spilloverA6 estadd local TIMEFE "YES" estadd local FE "YES" * Test whether Table 3 results are robust to controlling past land invasions. xi: nbreg invasions_count L.reforms_count_cum L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_exprop_recogin_100km L.ref_recog_out_100km L.landgini_exp_recogin L.landgini_recog_out yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store spilloverA7 estadd local TIMEFE "YES" estadd local FE "YES" * Test whether Table 3 results are robust to first invasions. These are cases where reform -> invasions rather than the other way around. xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_exprop_recogin_100km L.ref_recog_out_100km L.landgini_exp_recogin L.landgini_recog_out yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if L.invasions_count_cum==0, cl(ibgecode) dif est store spilloverA8 estadd local TIMEFE "YES" estadd local FE "YES" * Test whether Table 3 results are robust to no neighboring invasions within 50km in previous period. xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_exprop_recogin_100km L.ref_recog_out_100km L.landgini_exp_recogin L.landgini_recog_out yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if L.inv_50km==0, cl(ibgecode) dif est store spilloverA9 estadd local TIMEFE "YES" estadd local FE "YES" * Test whether Table 3 results are robust to no neighboring invasions within 50km ever. xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_exprop_recogin_100km L.ref_recog_out_100km L.landgini_exp_recogin L.landgini_recog_out yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if L.inv_50km_sum==0, cl(ibgecode) dif est store spilloverA10 estadd local TIMEFE "YES" estadd local FE "YES" * Prepare estout local labrename "L.inv_100km" "Neighboring Invasions" "L.reforms_count_cum" "Cumulative Reforms" "L.ruralpc" "Percent Rural" "L.log_inccap" "log(Income per capita)" "L.reforms_count" "Land Grants" "L.lnagprodareacult" "log(Ag Productivity)" "L.landgini_extrap" "Land Gini" "L.ref_exprop_in_100km" "Neighboring Expropriations in State" "L.ref_exprop_out_100km" "Neighboring Expropriations out of State" "L.ref_recog_out_100km" "Neighboring Recognitions out of State" "L.ref_recog_in_100km" "Neighboring Recognitions in State" "L.ref_exprop_100km" "Neighboring Expropriations" "L.landgini_exp" "Land Gini*Neighboring Expropriations" "L.ref_exprop_recogin_100km" "Relevant Neighboring Reforms" "L.landgini_exp_recogin" "Land Gini*Relevant Neighboring Reforms" "L.landgini_recog_out" "Land Gini*Neighboring Recognitions out of State" estout spilloverA* using tabJCR03.tex, replace style(tex) starlevels(* .10 ** .05 *** .01) varwidth(50) modelwidth(10) wrap cells(b(star fmt(3)) se(par fmt(3))) collabels(none) mlabels(none) eqlabels(none) varlabels("`labrename'" ) subs("Delta " "$\Delta\$") stats(TIMEFE FE N, labels("Time Trend" "Fixed Effects" "Observations") fmt(0 0 0)) drop(*_Istate* *yearcountpoly* _cons) order( L.ref_exprop_100km L.ref_recog_out_100km L.ref_exprop_in_100km L.ref_exprop_out_100km L.ref_recog_out_100km L.ref_recog_in_100km L.ref_exprop_recogin_100km L.landgini_exp_recogin L.landgini_recog_out L.landgini_extrap L.ruralpc L.lnagprodareacult L.log_inccap ) * **************************************************************** * Table 4. Rural Assassinations and Spillover Effects of Land Reforms, 1988-2013 * **************************************************************** * Murders (Dummy and interacted with time since last murder) xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.murders_any_dum L.ref_exprop_recogin_100km L.murders_any_exprop_recogin L.muniguard_dum_min L.muniguard_personnelpercap_interp yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store organize1 estadd local TIMEFE "YES" estadd local FE "YES" xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.murders_inpast_dum L.ref_exprop_recogin_100km L.murders_past_exprop_recogin L.muniguard_dum_min L.muniguard_personnelpercap_interp yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store organize2 estadd local TIMEFE "YES" estadd local FE "YES" xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.log_murders_sum L.ref_exprop_recogin_100km L.logmurdersct_past_exprop_recogin L.muniguard_dum_min L.muniguard_personnelpercap_interp yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store organize3 estadd local TIMEFE "YES" estadd local FE "YES" * Adding non-land related homicides xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.murders_any_dum L.ref_exprop_recogin_100km L.murders_any_exprop_recogin L.ln_homicides_nonland L.lnnonlandhom_any_exprop_recogin L.muniguard_dum_min L.muniguard_personnelpercap_interp yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store organize4 estadd local TIMEFE "YES" estadd local FE "YES" xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.murders_inpast_dum L.ref_exprop_recogin_100km L.murders_past_exprop_recogin L.ln_homicides_nonland L.lnnonlandhom_any_exprop_recogin L.muniguard_dum_min L.muniguard_personnelpercap_interp yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store organize5 estadd local TIMEFE "YES" estadd local FE "YES" xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.log_murders_sum L.ref_exprop_recogin_100km L.logmurdersct_past_exprop_recogin L.ln_homicides_nonland L.lnnonlandhom_any_exprop_recogin L.muniguard_dum_min L.muniguard_personnelpercap_interp yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store organize6 estadd local TIMEFE "YES" estadd local FE "YES" * Adding control for muniguard aiding military police xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.murders_any_dum L.ref_exprop_recogin_100km L.murders_any_exprop_recogin L.ln_homicides_nonland L.lnnonlandhom_any_exprop_recogin L.muniguard_aidmilpolice_interp yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store organize7 estadd local TIMEFE "YES" estadd local FE "YES" xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.murders_inpast_dum L.ref_exprop_recogin_100km L.murders_past_exprop_recogin L.ln_homicides_nonland L.lnnonlandhom_any_exprop_recogin L.muniguard_aidmilpolice_interp yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store organize8 estadd local TIMEFE "YES" estadd local FE "YES" xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.log_murders_sum L.ref_exprop_recogin_100km L.logmurdersct_past_exprop_recogin L.ln_homicides_nonland L.lnnonlandhom_any_exprop_recogin L. muniguard_aidmilpolice_interp yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store organize9 estadd local TIMEFE "YES" estadd local FE "YES" * Prepare estout local varrename "L.murders_any_dum" "landownerorg" "L.murders_any_exprop_recogin" "landownerorg_relref" "L.murders_inpast_dum" "landownerorg" "L.murders_past_exprop_recogin" "landownerorg_relref" "L.log_murders_sum" "landownerorg" "L.logmurdersct_past_exprop_recogin" "landownerorg_relref" local labrename "L.ruralpc" "Percent Rural" "L.landgini_extrap" "Land Gini" "L.lnagprodareacult" "log(Ag Productivity)" "L.log_inccap" "log(Income per capita)" "L.ref_exprop_recogin_100km" "Relevant Neighboring Reforms" "landownerorg" "Organized Violence" "landownerorg_relref" "Organized Violence*Reforms" "L.muniguard_aidmilpolice_interp" "Municipal Guard Aids Military Police" "L.ln_homicides_nonland" "Other Murders" "L.lnnonlandhom_any_exprop_recogin" "Other Murders*Reforms" "L.muniguard_dum_min" "Municipal Guard Exists" "L.muniguard_personnelpercap_interp" "Municipal Guard Personnel per Capita" estout organize* using tabJCR04.tex, replace style(tex) starlevels(* .10 ** .05 *** .01) varwidth(50) modelwidth(10) wrap cells(b(star fmt(3)) se(par fmt(3))) collabels(none) mlabels(none) eqlabels(none) rename("`varrename'" ) varlabels("`labrename'" ) order(L.ref_exprop_recogin_100km landownerorg landownerorg_relref L.ln_homicides_nonland L.lnnonlandhom_any_exprop_recogin L.landgini_extrap L.ruralpc L.lnagprodareacult L.log_inccap L.muniguard_dum_min L.muniguard_personnelpercap_interp L.muniguard_aidmilpolice_interp) stats(TIMEFE FE N, labels("Time Trend" "Fixed Effects" "Observations") fmt(0 0 0)) drop(*_Istate* *yearcountpoly* _cons) * **************************************************************** * Table 5. Political Connections and Spillover Effects of Land Reforms, 2003-2007 * **************************************************************** * Business connections to bancada ruralista xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.impbusiness_dum L.ref_exprop_recogin_100km L.impland_bus_reforms_exp_recogin yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if year<2008, cl(ibgecode) dif est store mp1 estadd local TIMEFE "YES" estadd local FE "YES" xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.log_impbusiness_count L.ref_exprop_recogin_100km L.log_impland_ct_bus_exp_recogin yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if year<2008, cl(ibgecode) dif est store mp2 estadd local TIMEFE "YES" estadd local FE "YES" xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.log_impbusiness_area L.ref_exprop_recogin_100km L.log_impbusiness_area_exp_recogin yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if year<2008, cl(ibgecode) dif est store mp3 estadd local TIMEFE "YES" estadd local FE "YES" * Prepare estout local varrename "L.impbusiness_dum" "poldum" "L.log_impbusiness_count" "poldum" "L.log_impbusiness_area" "poldum" "L.impland_bus_reforms_exp_recogin" "poldum_ref" "L.log_impland_ct_bus_exp_recogin" "poldum_ref" "L.log_impbusiness_area_exp_recogin" "poldum_ref" local labrename "L.ruralpc" "Percent Rural" "L.landgini_extrap" "Land Gini" "L.lnagprodareacult" "log(Ag Productivity)" "L.log_inccap" "log(Income per capita)" "poldum" "Political Connection" "L.ref_exprop_recogin_100km" "Relevant Neighboring Reforms" "poldum_ref" "Political Connection*Reforms" estout mp1 mp2 mp3 using tabJCR05b.tex, replace style(tex) starlevels(* .10 ** .05 *** .01) varwidth(50) modelwidth(10) wrap cells(b(star fmt(3)) se(par fmt(3))) collabels(none) mlabels(none) eqlabels(none) rename("`varrename'") varlabels("`labrename'" ) subs("Delta " "$\Delta\$") stats(TIMEFE FE N, labels("Time Trend" "Fixed Effects" "Observations") fmt(0 0 0)) drop(*_Istate* *yearcountpoly* _cons) order(L.ref_exprop_recogin_100km poldum poldum_ref L.landgini_extrap L.ruralpc L.lnagprodareacult L.log_inccap ) * **************************************************************** * Figure 3. Marginal Effect of Neighboring Reforms on Invasions * **************************************************************** ** Marginal Effect of Neighboring Reforms (X) by Landgini (MV) - DV: Invasions Dummy preserve keep ibgecode year invasions_dum invasions_count invasions_families ruralpc lnagprodareacult log_inccap landgini_extrap ref_100km yearcountpoly1 yearcountpoly2 yearcountpoly3 state xi: qui logit invasions_dum L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.c.landgini_extrap##L.c.ref_100km yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif ** graph changes with how other variables are set * (1a) margins, dydx(L.ref_100km) at(L.landgini_extrap=(0(0.02)1) L.ref_100km=0) * No previous reforms, no neighboring reforms margins, dydx(L.ref_100km) at(L.landgini_extrap=(0(0.02)1) L.ref_100km=0) local ginilo "0.35" capture drop gini* mat b=r(b)' mat at=r(at) mat at=at[1...,"L.landgini_extrap"] mat se=r(V) mat se=vecdiag(cholesky(diag(vecdiag(se))))' mat gini = at,b,se svmat gini, names(gini) gen gini2_perc = gini2*100 gen gini3_perc = gini3*100 * Use percentages rather than probability gen giniul = gini2 + 1.96*gini3 gen ginill = gini2 - 1.96*gini3 gen giniul_perc = gini2_perc + 1.96*gini3_perc gen ginill_perc = gini2_perc - 1.96*gini3_perc * Percentages: twoway (rarea giniul_perc ginill_perc gini1 if gini1>=`ginilo', color(gs13) lcolor(gs13) yaxis(1)) (line gini2_perc gini1 if gini1>=`ginilo', lpattern(solid) yaxis(1)) (hist landgini_extrap if e(sample)==1 & landgini_extrap>=`ginilo', yaxis(2)), legend(off) xtitle("Land Inequality (Gini)") ytitle("Marginal Effect on Likelihood of Land Invasions" "(in percent)", axis(1)) name(gini1, replace) ylabel(, nogrid axis(1)) yscale(range(0(1)40) axis(2) off) xscale(range(0.35 1)) xlabel(0.4(0.2)1) scheme(tufte) graph export margeff_reforms_gini_invdum_v1a.pdf, as(pdf) replace * (2b) margins, dydx(L.ref_100km) at(L.landgini_extrap=(0(0.02)1)) subpop(if L.ref_100km>=3.4) * subpopulation with very high level of neighboring reforms >= 40 margins, dydx(L.ref_100km) at(L.landgini_extrap=(0(0.02)1)) subpop(if L.ref_100km>=3.4) local ginilo "0.35" capture drop gini* mat b=r(b)' mat at=r(at) mat at=at[1...,"L.landgini_extrap"] mat se=r(V) mat se=vecdiag(cholesky(diag(vecdiag(se))))' mat gini = at,b,se svmat gini, names(gini) gen gini2_perc = gini2*100 gen gini3_perc = gini3*100 * Use percentages rather than probability gen giniul = gini2 + 1.96*gini3 gen ginill = gini2 - 1.96*gini3 gen giniul_perc = gini2_perc + 1.96*gini3_perc gen ginill_perc = gini2_perc - 1.96*gini3_perc * Percentages: twoway (rarea giniul_perc ginill_perc gini1 if gini1>=`ginilo', color(gs13) lcolor(gs13) yaxis(1)) (line gini2_perc gini1 if gini1>=`ginilo', lpattern(solid) yaxis(1)) (hist landgini_extrap if e(sample)==1 & landgini_extrap>=`ginilo', yaxis(2)), legend(off) xtitle("Land Inequality (Gini)") ytitle("Marginal Effect on Likelihood of Land Invasions" "(in percent)", axis(1)) name(gini1, replace) ylabel(, nogrid axis(1)) yscale(range(0(1)40) axis(2) off) xscale(range(0.35 1)) xlabel(0.4(0.2)1) scheme(tufte) graph export margeff_reforms_gini_invdum_v2b.pdf, as(pdf) replace restore * **************************************************************** * Table A1. Descriptive Statistics * **************************************************************** * Note: we present the logged values of the land reform variables here label var invasions_count "Land Invasions (Count)" label var invasions_dum "Land Invasions (Dummy)" label var invasions_families "Land Invasions (Families)" label var reforms_count "Land Grants (Count)" label var reforms_families "Land Grants (Families Settled)" label var reforms_area "Land Grant Area" label var ref_100km "Neighboring Reforms" label var ref_exprop_100km "Neighboring Expropriations" label var ref_recog_100km "Neighboring Recognitions" label var ref_exprop_in_100km "Neighboring Expropriations In-State" label var ref_exprop_out_100km "Neighboring Expropriations Out-of-State" label var ref_recog_in_100km "Neighboring Recognitions In-State" label var ref_recog_out_100km "Neighboring Recognitions Out-of-State" label var ref_exprop_recogin_100km "Relevant Neighboring Reforms" label var inv_100km "Neighboring Invasions" label var reforms_count_cum "Cumulative Reforms" label var landgini_extrap "Land Inequality (Gini)" label var ruralpc "Percent Rural" label var lnagprodareacult "log(Agricultural Productivity)" label var log_inccap "log(Income Per Capita)" label var murders_any_dum "Municipality with Rural Assassinations (Dummy)" label var murders_inpast_dum "Rural Assassinations in the Past (Dummy)" label var murders_sum "Rural Assassinations (Count)" label var muniguard_dum_min "Municipal Guard Exists" label var muniguard_personnelpercap_interp "Municipal Guard Personel per Capita" label var muniguard_aidmilpolice_interp "Municipal Guard Aids Military Police" label var impbusiness_dum "Political Business Connection (Dummy)" label var impbusiness_count "Political Business Connection (Count)" label var impbusiness_area "Political Business Connection (Area)" label var socmovmst "MST supported Invasions" label var sugar_depend "Sugar Dependence" label var cattle_depend "Cattle Dependence" label var soy_depend "Soy Dependence" label var coffee_depend "Coffee Dependence" label var leftgovernor "Left Governor" label var rightgovernor "Right Governor" label var imay_votesharept "PT Vote Share for Mayor" label var ipres_votesharept "PT Vote Share for President" label var d_gini "\$\\Delta\$ Land Gini" label var numfarmsratio_1_100ha "Ratio Number of Farms less than 1ha / greater 100ha" sutex invasions_count invasions_dum invasions_families reforms_count reforms_families reforms_area ref_100km ref_exprop_100km ref_recog_100km ref_exprop_in_100km ref_exprop_out_100km ref_recog_in_100km ref_recog_out_100km inv_100km reforms_count_cum landgini_extrap ruralpc lnagprodareacult log_inccap murders_any_dum murders_inpast_dum murders_sum muniguard_dum_min muniguard_personnelpercap_interp muniguard_aidmilpolice_interp impbusiness_dum impbusiness_count impbusiness_area socmovmst sugar_depend cattle_depend soy_depend coffee_depend leftgovernor rightgovernor d_gini numfarmsratio_1_100ha if year>1987 & year<2014, labels minmax title(Descriptive Statistics) key(tab:sumstat) digits(2) file(tabsumstat.tex) replace * **************************************************************** * Table A4. Determinants of Land Invasions in Brazil, 1988 - 2013 * Including Municipal Fixed Effects as Robustness Check * **************************************************************** xi: qui xtnbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3, re dif est store munife1 estadd local TIMEFE "YES" estadd local FE "NO" xi: qui xtnbreg invasions_families L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3, re dif est store munife2 estadd local TIMEFE "YES" estadd local FE "NO" xi: qui xtnbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms, fe dif est store munife3 estadd local TIMEFE "NO" estadd local FE "YES" xi: qui xtnbreg invasions_families L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms, fe dif est store munife4 estadd local TIMEFE "NO" estadd local FE "YES" xi: qui xtnbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3, fe dif est store munife5 estadd local TIMEFE "YES" estadd local FE "YES" xi: qui xtnbreg invasions_families L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3, fe dif est store munife6 estadd local TIMEFE "YES" estadd local FE "YES" * Limit to Small Gini Changes xi: qui xtnbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 if d_gini<.05&d_gini>-.05, fe dif est store munife7 estadd local TIMEFE "YES" estadd local FE "YES" xi: qui xtnbreg invasions_families L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 if d_gini<.05&d_gini>-.05, fe dif est store munife8 estadd local TIMEFE "YES" estadd local FE "YES" * Prepare estout local labrename "L.ruralpc" "Percent Rural" "L.log_inccap" "log(Income per capita)" "L.lnagprodareacult" "log(Ag Productivity)" "L.landgini_extrap" "Land Gini" "L.landgini_reforms" "Land Gini*Reforms" "L.ref_100km" "Neighboring Reforms" estout munife1 munife2 munife3 munife4 munife5 munife6 munife7 munife8 using tabJCR2_muni_FE.tex, replace style(tex) starlevels(* .10 ** .05 *** .01) varwidth(40) modelwidth(10) wrap cells(b(star fmt(3)) se(par fmt(3))) collabels(none) mlabels(none) eqlabels(none) varlabels("`labrename'" ) order(L.landgini_extrap L.ref_100km L.landgini_reforms L.ruralpc L.lnagprodareacult L.log_inccap ) subs("Delta " "$\Delta\$") stats(TIMEFE FE N, labels("Time Trend" "Fixed Effects" "Observations") fmt(0 0 0)) drop(*yearcountpoly* _cons) * **************************************************************** * Table A5. Determinants of Land Invasions in Brazil, 1988 - 2013: * Using Two-Year Lags as Robustness Check * **************************************************************** xi: qui nbreg invasions_count L2.ruralpc L2.lnagprodareacult L2.log_inccap L2.landgini_extrap yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) difficult est store invasion1 estadd local TIMEFE "YES" estadd local FE "STATE" xi: qui nbreg invasions_count L2.ruralpc L2.lnagprodareacult L2.log_inccap L2.landgini_extrap L2.ref_100km yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) difficult est store invasion2 estadd local TIMEFE "YES" estadd local FE "STATE" xi: qui nbreg invasions_count L2.ruralpc L2.lnagprodareacult L2.log_inccap L2.landgini_extrap L2.ref_100km L2.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store invasion3 estadd local TIMEFE "YES" estadd local FE "STATE" xi: qui logit invasions_dum L2.ruralpc L2.lnagprodareacult L2.log_inccap L2.landgini_extrap L2.ref_100km L2.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store invasion4 estadd local TIMEFE "YES" estadd local FE "STATE" xi: qui nbreg invasions_families L2.ruralpc L2.lnagprodareacult L2.log_inccap L2.landgini_extrap L2.ref_100km L2.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store invasion5 estadd local TIMEFE "YES" estadd local FE "STATE" xi: qui xtnbreg invasions_families L2.ruralpc L2.lnagprodareacult L2.log_inccap L2.landgini_extrap L2.ref_100km L2.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3, fe dif ** Add some models to the table to test for endogeneity of landgini with land invasions xi: qui nbreg invasions_count L2.ruralpc L2.lnagprodareacult L2.log_inccap L2.landgini_extrap L2.ref_100km L2.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if d_gini<.05&d_gini>-.05, cl(ibgecode) dif est store invasion7 estadd local TIMEFE "YES" estadd local FE "STATE" xi: qui logit invasions_dum L2.ruralpc L2.lnagprodareacult L2.log_inccap L2.landgini_extrap L2.ref_100km L2.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if d_gini<.05&d_gini>-.05, cl(ibgecode) dif est store invasion8 estadd local TIMEFE "YES" estadd local FE "STATE" xi: qui nbreg invasions_families L2.ruralpc L2.lnagprodareacult L2.log_inccap L2.landgini_extrap L2.ref_100km L2.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if d_gini<.05&d_gini>-.05, cl(ibgecode) dif est store invasion9 estadd local TIMEFE "YES" estadd local FE "STATE" ** Add muni FE models xi: qui xtnbreg invasions_count L2.ruralpc L2.lnagprodareacult L2.log_inccap L2.landgini_extrap L2.ref_100km L2.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 if d_gini<.05&d_gini>-.05, fe dif est store invasion10 estadd local TIMEFE "YES" estadd local FE "MUNI" xi: xtlogit invasions_dum L2.ruralpc L2.lnagprodareacult L2.log_inccap L2.landgini_extrap L2.ref_100km L2.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 if d_gini<.05&d_gini>-.05, fe dif est store invasion11 estadd local TIMEFE "YES" estadd local FE "MUNI" xi: qui xtnbreg invasions_families L2.ruralpc L2.lnagprodareacult L2.log_inccap L2.landgini_extrap L2.ref_100km L2.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 if d_gini<.05&d_gini>-.05, fe dif est store invasion12 estadd local TIMEFE "YES" estadd local FE "MUNI" * Prepare estout local labrename "L2.ruralpc" "Percent Rural" "L2.log_inccap" "log(Income per capita)" "L2.lnagprodareacult" "log(Ag Productivity)" "L2.landgini_extrap" "Land Gini" "L2.landgini_reforms" "Land Gini*Reforms" "L2.ref_100km" "Neighboring Reforms" estout invasion* using tabJCR02_2ylag.tex, replace style(tex) starlevels(* .10 ** .05 *** .01) varwidth(40) modelwidth(10) wrap cells(b(star fmt(3)) se(par fmt(3))) collabels(none) mlabels(none) eqlabels(none) varlabels("`labrename'" ) order(L2.landgini_extrap L2.ref_100km L2.landgini_reforms L2.ruralpc L2.lnagprodareacult L2.log_inccap ) subs("Delta " "$\Delta\$") stats(TIMEFE FE N, labels("Time Trend" "Fixed Effects" "Observations") fmt(0 0 0)) drop(*_Istate* *yearcountpoly* _cons) * **************************************************************** * Table A6. Identifying Spillover Effects of Land Reforms on Land Invasions, 1988–2013: * Using Two-Year Lags as Robustness Check * **************************************************************** ** Part A: Exproprations vs. Recognitions (both in and out of state) xi: qui nbreg invasions_count L2.ruralpc L2.lnagprodareacult L2.log_inccap L2.landgini_extrap L2.ref_exprop_100km L2.ref_recog_out_100km yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store spilloverA1 estadd local TIMEFE "YES" estadd local FE "YES" xi: qui nbreg invasions_count L2.ruralpc L2.lnagprodareacult L2.log_inccap L2.landgini_extrap L2.ref_exprop_in_100km L2.ref_exprop_out_100km L2.ref_recog_out_100km yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store spilloverA2 estadd local TIMEFE "YES" estadd local FE "YES" xi: qui nbreg invasions_count L2.ruralpc L2.lnagprodareacult L2.log_inccap L2.landgini_extrap L2.ref_exprop_in_100km L2.ref_exprop_out_100km L2.ref_recog_out_100km L2.ref_recog_in_100km yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store spilloverA3 estadd local TIMEFE "YES" estadd local FE "YES" xi: nbreg invasions_count L2.ruralpc L2.lnagprodareacult L2.log_inccap L2.landgini_extrap L2.ref_exprop_recogin_100km L2.ref_recog_out_100km yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store spilloverA4 estadd local TIMEFE "YES" estadd local FE "YES" xi: nbreg invasions_count L2.ruralpc L2.lnagprodareacult L2.log_inccap L2.landgini_extrap L2.ref_exprop_recogin_100km L2.ref_recog_out_100km L2.landgini_exp_recogin L2.landgini_recog_out yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store spilloverA5 estadd local TIMEFE "YES" estadd local FE "YES" * Test whether Table 3 results are robust to controlling for neighboring land invasions. xi: nbreg invasions_count L2.inv_100km L2.ruralpc L2.lnagprodareacult L2.log_inccap L2.landgini_extrap L2.ref_exprop_recogin_100km L2.ref_recog_out_100km L2.landgini_exp_recogin L2.landgini_recog_out yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store spilloverA6 estadd local TIMEFE "YES" estadd local FE "YES" * Test whether Table 3 results are robust to controlling for neighboring land invasions. xi: nbreg invasions_count L2.reforms_count_cum L2.ruralpc L2.lnagprodareacult L2.log_inccap L2.landgini_extrap L2.ref_exprop_recogin_100km L2.ref_recog_out_100km L2.landgini_exp_recogin L2.landgini_recog_out yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store spilloverA7 estadd local TIMEFE "YES" estadd local FE "YES" * Test whether Table 3 results are robust to first invasions. These are cases where reform -> invasions rather than the other way around. xi: qui nbreg invasions_count L2.ruralpc L2.lnagprodareacult L2.log_inccap L2.landgini_extrap L2.ref_exprop_recogin_100km L2.ref_recog_out_100km L2.landgini_exp_recogin L2.landgini_recog_out yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if L2.invasions_count_cum==0, cl(ibgecode) dif est store spilloverA8 estadd local TIMEFE "YES" estadd local FE "YES" * Test whether Table 3 results are robust to no neighboring invasions within 50km in previous period. xi: qui nbreg invasions_count L2.ruralpc L2.lnagprodareacult L2.log_inccap L2.landgini_extrap L2.ref_exprop_recogin_100km L2.ref_recog_out_100km L2.landgini_exp_recogin L2.landgini_recog_out yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if L2.inv_50km==0, cl(ibgecode) dif est store spilloverA9 estadd local TIMEFE "YES" estadd local FE "YES" * Test whether Table 3 results are robust to no neighboring invasions within 50km ever. xi: qui nbreg invasions_count L2.ruralpc L2.lnagprodareacult L2.log_inccap L2.landgini_extrap L2.ref_exprop_recogin_100km L2.ref_recog_out_100km L2.landgini_exp_recogin L2.landgini_recog_out yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if L2.inv_50km_sum==0, cl(ibgecode) dif est store spilloverA10 estadd local TIMEFE "YES" estadd local FE "YES" * Prepare estout local labrename "L2.inv_100km" "Neighboring Invasions" "L2.reforms_count_cum" "Cumulative Reforms" "L2.ruralpc" "Percent Rural" "L2.log_inccap" "log(Income per capita)" "L2.reforms_count" "Land Grants" "L2.lnagprodareacult" "log(Ag Productivity)" "L2.landgini_extrap" "Land Gini" "L2.ref_exprop_in_100km" "Neighboring Expropriations in State" "L2.ref_exprop_out_100km" "Neighboring Expropriations out of State" "L2.ref_recog_out_100km" "Neighboring Recognitions out of State" "L2.ref_recog_in_100km" "Neighboring Recognitions in State" "L2.ref_exprop_100km" "Neighboring Expropriations" "L2.landgini_exp" "Land Gini*Neighboring Expropriations" "L2.ref_exprop_recogin_100km" "Relevant Neighboring Reforms" "L2.landgini_exp_recogin" "Land Gini*Relevant Neighboring Reforms" "L2.landgini_recog_out" "Land Gini*Neighboring Recognitions out of State" estout spilloverA* using tabJCR03_2ylag.tex, replace style(tex) starlevels(* .10 ** .05 *** .01) varwidth(50) modelwidth(10) wrap cells(b(star fmt(3)) se(par fmt(3))) collabels(none) mlabels(none) eqlabels(none) varlabels("`labrename'" ) subs("Delta " "$\Delta\$") stats(TIMEFE FE N, labels("Time Trend" "Fixed Effects" "Observations") fmt(0 0 0)) drop(*_Istate* *yearcountpoly* _cons) order( L2.ref_exprop_100km L2.ref_recog_out_100km L2.ref_exprop_in_100km L2.ref_exprop_out_100km L2.ref_recog_out_100km L2.ref_recog_in_100km L2.ref_exprop_recogin_100km L2.landgini_exp_recogin L2.landgini_recog_out L2.landgini_extrap L2.ruralpc L2.lnagprodareacult L2.log_inccap ) * **************************************************************** * Table A7. Sensitivity of Spillover Effects to Controls for Agricultural Production, 1988–2013 * **************************************************************** * Production amounts scaled by cultivated land xi: nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_exprop_recogin_100km L.ref_recog_out_100km L.landgini_exp_recogin L.landgini_recog_out L.cattle_depend yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store agprod1 estadd local TIMEFE "YES" estadd local FE "YES" xi: nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_exprop_recogin_100km L.ref_recog_out_100km L.landgini_exp_recogin L.landgini_recog_out L.soy_depend yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store agprod2 estadd local TIMEFE "YES" estadd local FE "YES" xi: nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_exprop_recogin_100km L.ref_recog_out_100km L.landgini_exp_recogin L.landgini_recog_out L.sugar_depend yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store agprod3 estadd local TIMEFE "YES" estadd local FE "YES" xi: nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_exprop_recogin_100km L.ref_recog_out_100km L.landgini_exp_recogin L.landgini_recog_out L.coffee_depend yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store agprod4 estadd local TIMEFE "YES" estadd local FE "YES" xi: nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_exprop_recogin_100km L.ref_recog_out_100km L.landgini_exp_recogin L.landgini_recog_out L.cattle_depend L.soy_depend L.sugar_depend L.coffee_depend yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store agprod5 estadd local TIMEFE "YES" estadd local FE "YES" * Prepare estout local labrename "L.ruralpc" "Percent Rural" "L.log_inccap" "log(Income per capita)" "L.lnagprodareacult" "log(Ag Productivity)" "L.landgini_extrap" "Land Gini" "L.ref_recog_out_100km" "Neighboring Recognitions out of State" "L.landgini_recog_out" "Land Gini*Neighboring Recognitions out of State" "L.ref_exprop_recogin_100km" "Relevant Neighboring Reforms" "L.landgini_exp_recogin" "Land Gini*Relevant Neighboring Reforms" "L.cattle_depend" "Cattle Dependence" "L.soy_depend" "Soy Dependence" "L.sugar_depend" "Sugar Dependence" "L.coffee_depend" "Coffee Dependence" estout agprod* using tabJCR03_agprod.tex, replace style(tex) starlevels(* .10 ** .05 *** .01) varwidth(50) modelwidth(10) wrap cells(b(star fmt(3)) se(par fmt(3))) collabels(none) mlabels(none) eqlabels(none) varlabels("`labrename'" ) stats(TIMEFE FE N, labels("Time Trend" "Fixed Effects" "Observations") fmt(0 0 0)) drop(*_Istate* *yearcountpoly* _cons) order(L.ref_recog_out_100km L.ref_exprop_recogin_100km L.landgini_exp_recogin L.landgini_recog_out L.landgini_extrap L.ruralpc L.lnagprodareacult L.log_inccap ) * **************************************************************** * Table A8. Sensitivity to further restriction of gini change, 1988–2013 * **************************************************************** xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if d_gini<.05&d_gini>-.05, cl(ibgecode) dif est store ginichange1 estadd local TIMEFE "YES" estadd local FE "YES" xi: qui logit invasions_dum L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if d_gini<.05&d_gini>-.05, cl(ibgecode) dif est store ginichange2 estadd local TIMEFE "YES" estadd local FE "YES" xi: qui nbreg invasions_families L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if d_gini<.05&d_gini>-.05, cl(ibgecode) dif est store ginichange3 estadd local TIMEFE "YES" estadd local FE "YES" xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if d_gini<.03&d_gini>-.03, cl(ibgecode) dif est store ginichange4 estadd local TIMEFE "YES" estadd local FE "YES" xi: qui logit invasions_dum L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if d_gini<.03&d_gini>-.03, cl(ibgecode) dif est store ginichange5 estadd local TIMEFE "YES" estadd local FE "YES" xi: qui nbreg invasions_families L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if d_gini<.03&d_gini>-.03, cl(ibgecode) dif est store ginichange6 estadd local TIMEFE "YES" estadd local FE "YES" xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if d_gini<.01&d_gini>-.01, cl(ibgecode) dif est store ginichange7 estadd local TIMEFE "YES" estadd local FE "YES" xi: qui logit invasions_dum L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if d_gini<.01&d_gini>-.01, cl(ibgecode) dif est store ginichange8 estadd local TIMEFE "YES" estadd local FE "YES" xi: qui nbreg invasions_families L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if d_gini<.01&d_gini>-.01, cl(ibgecode) dif est store ginichange9 estadd local TIMEFE "YES" estadd local FE "YES" * Prepare estout local labrename "L.election_gov" "Governor Election" "L.ruralpc" "Percent Rural" "L.litrate" "Literacy Rate" "L.inccap" "Income per capita" "L.log_inccap" "log(Income per capita)" "L.reforms_count" "Land Grants" "L.lnagprodareacult" "log(Ag Productivity)" "L.landgini_extrap" "Land Gini" "govparty_prescoal" "Gov-Pres Coal Agreement" "imaypart_prescoal" "Mayor-Pres Agreement" "L.landgini_reforms" "Land Gini*Neighboring Reforms" "L.ref_100km" "Neighboring Reforms" "L.ref_exprop_in_100km" "Neighboring Expropriations in State" "L.ref_exprop_out_100km" "Neighboring Expropriations out of State" "L.ref_recog_out_100km" "Neighboring Recognitions out of State" "L.ref_recog_in_100km" "Neighboring Recognitions in State" "L.ref_exprop_100km" "Neighboring Expropriations" "L.ref_state_in_100km" "Neighboring State Reforms in State" "L.ref_state_out_100km" "Neighboring State Reforms out of State" "L.ref_fed_in_100km" "Neighboring Federal Reforms in State" "L.ref_fed_out_100km" "Neighboring Federal Reforms out of State" "L.ref_fed_100km" "Neighboring Federal Reforms" estout ginichange1 ginichange4 ginichange7 ginichange2 ginichange5 ginichange8 ginichange3 ginichange6 ginichange9 using tabJCR02_gini_changes.tex, replace style(tex) starlevels(* .10 ** .05 *** .01) varwidth(40) modelwidth(10) wrap cells(b(star fmt(3)) se(par fmt(3))) collabels(none) mlabels(none) eqlabels(none) varlabels("`labrename'" ) order(L.landgini_extrap L.ref_100km L.landgini_reforms L.ruralpc L.lnagprodareacult L.log_inccap ) subs("Delta " "$\Delta\$") stats(TIMEFE FE N, labels("Time Trend" "Fixed Effects" "Observations") fmt(0 0 0)) drop(*_Istate* *yearcountpoly* _cons) * **************************************************************** * Table A9. Sensitivity to Removing Interpolated Variables, 1988–2013 * **************************************************************** xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store interp1 estadd local TIMEFE "YES" estadd local FE "STATE" xi: qui logit invasions_dum L.ruralpc L.lnagprodareacult L.log_inccap L.landgini L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store interp2 estadd local TIMEFE "YES" estadd local FE "STATE" xi: qui nbreg invasions_families L.ruralpc L.lnagprodareacult L.log_inccap L.landgini L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store interp3 estadd local TIMEFE "YES" estadd local FE "STATE" * Dropping interpolated variables: ruralpc, log_inccap xi: qui nbreg invasions_count L.lnagprodareacult L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store interp4 estadd local TIMEFE "YES" estadd local FE "STATE" xi: qui logit invasions_dum L.lnagprodareacult L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store interp5 estadd local TIMEFE "YES" estadd local FE "STATE" xi: qui nbreg invasions_families L.lnagprodareacult L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store interp6 estadd local TIMEFE "YES" estadd local FE "STATE" ** Restricted by gini change to test for endogeneity of landgini with land invasions xi: qui nbreg invasions_count L.lnagprodareacult L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if d_gini<.05&d_gini>-.05, cl(ibgecode) dif est store interp7 estadd local TIMEFE "YES" estadd local FE "STATE" xi: qui logit invasions_dum L.lnagprodareacult L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if d_gini<.05&d_gini>-.05, cl(ibgecode) dif est store interp8 estadd local TIMEFE "YES" estadd local FE "STATE" xi: qui nbreg invasions_families L.lnagprodareacult L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if d_gini<.05&d_gini>-.05, cl(ibgecode) dif est store interp9 estadd local TIMEFE "YES" estadd local FE "STATE" ** Add muni FE models xi: qui xtnbreg invasions_count L.lnagprodareacult L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 if d_gini<.05&d_gini>-.05, fe dif est store interp10 estadd local TIMEFE "YES" estadd local FE "MUNI" xi: qui xtlogit invasions_dum L.lnagprodareacult L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 if d_gini<.05&d_gini>-.05, fe dif est store interp11 estadd local TIMEFE "YES" estadd local FE "MUNI" xi: qui xtnbreg invasions_families L.lnagprodareacult L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 if d_gini<.05&d_gini>-.05, fe dif est store interp12 estadd local TIMEFE "YES" estadd local FE "MUNI" * Prepare estout local varrename "L.landgini_extrap" "LandGini" "L.landgini" "LandGini" local labrename "L.ruralpc" "Percent Rural" "L.log_inccap" "log(Income per capita)" "L.lnagprodareacult" "log(Ag Productivity)" "L.landgini_extrap" "Land Gini" "L.landgini_reforms" "Land Gini*Reforms" "L.ref_100km" "Neighboring Reforms" estout interp* using tabJCR2_drop_interpolated.tex, replace style(tex) starlevels(* .10 ** .05 *** .01) varwidth(40) modelwidth(10) wrap cells(b(star fmt(3)) se(par fmt(3))) collabels(none) mlabels(none) eqlabels(none) rename("`varrename'" ) varlabels("`labrename'" ) order(LandGini L.ref_100km L.landgini_reforms L.lnagprodareacult) subs("Delta " "$\Delta\$") stats(TIMEFE FE N, labels("Time Trend" "Fixed Effects" "Observations") fmt(0 0 0)) drop(*_Istate* *yearcountpoly* _cons) * **************************************************************** * Table A10. Sensitivity to Clustering Standard Errors by Mesoregion, 1988 - 2013 * **************************************************************** xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(mesoreg) difficult est store meso1 estadd local TIMEFE "YES" estadd local FE "STATE" xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(mesoreg) difficult est store meso2 estadd local TIMEFE "YES" estadd local FE "STATE" xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(mesoreg) dif est store meso3 estadd local TIMEFE "YES" estadd local FE "STATE" xi: qui logit invasions_dum L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(mesoreg) dif est store meso4 estadd local TIMEFE "YES" estadd local FE "STATE" xi: qui nbreg invasions_families L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(mesoreg) dif est store meso5 estadd local TIMEFE "YES" estadd local FE "STATE" ** Add some models to the table to test for endogeneity of landgini with land invasions xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if d_gini<.05&d_gini>-.05, cl(mesoreg) dif est store meso7 estadd local TIMEFE "YES" estadd local FE "STATE" xi: qui logit invasions_dum L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if d_gini<.05&d_gini>-.05, cl(mesoreg) dif est store meso8 estadd local TIMEFE "YES" estadd local FE "STATE" xi: qui nbreg invasions_families L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if d_gini<.05&d_gini>-.05, cl(mesoreg) dif est store meso9 estadd local TIMEFE "YES" estadd local FE "STATE" ** Add two muni FE models xi: qui xtnbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 if d_gini<.05&d_gini>-.05, fe dif est store meso10 estadd local TIMEFE "YES" estadd local FE "MUNI" xi: qui xtnbreg invasions_families L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 if d_gini<.05&d_gini>-.05, fe dif est store meso11 estadd local TIMEFE "YES" estadd local FE "MUNI" * Prepare estout local labrename "L.ruralpc" "Percent Rural" "L.log_inccap" "log(Income per capita)" "L.lnagprodareacult" "log(Ag Productivity)" "L.landgini_extrap" "Land Gini" "L.landgini_reforms" "Land Gini*Reforms" "L.ref_100km" "Neighboring Reforms" estout meso* using tabJCR2_meso_clustered_errors.tex, replace style(tex) starlevels(* .10 ** .05 *** .01) varwidth(40) modelwidth(10) wrap cells(b(star fmt(3)) se(par fmt(3))) collabels(none) mlabels(none) eqlabels(none) varlabels("`labrename'" ) order(L.landgini_extrap L.ref_100km L.landgini_reforms L.ruralpc L.lnagprodareacult L.log_inccap ) subs("Delta " "$\Delta\$") stats(TIMEFE FE N, labels("Time Trend" "Fixed Effects" "Observations") fmt(0 0 0)) drop(*_Istate* *yearcountpoly* _cons) * **************************************************************** * Table A11. Sensitivity of Spillover Effects of Land Reforms on Land Invasions * to Inclusion of Spatial Lags, 1988–2013 * **************************************************************** * Add multiple spatial lags xi: nbreg invasions_count L.inv_100km L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_exprop_recogin_100km L.ref_recog_out_100km L.landgini_exp_recogin L.landgini_recog_out yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store spatial1 estadd local TIMEFE "TREND" estadd local FE "STATE" xi: nbreg invasions_count L.inv_100km L2.inv_100km L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_exprop_recogin_100km L.ref_recog_out_100km L.landgini_exp_recogin L.landgini_recog_out yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store spatial2 estadd local TIMEFE "TREND" estadd local FE "STATE" xi: nbreg invasions_count L.inv_100km L2.inv_100km L3.inv_100km L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_exprop_recogin_100km L.ref_recog_out_100km L.landgini_exp_recogin L.landgini_recog_out yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif est store spatial3 estadd local TIMEFE "TREND" estadd local FE "STATE" * Use Muni FE Model xi: xtnbreg invasions_count L.inv_100km L2.inv_100km L3.inv_100km L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_exprop_recogin_100km L.ref_recog_out_100km L.landgini_exp_recogin L.landgini_recog_out yearcountpoly1 yearcountpoly2 yearcountpoly3, fe dif est store spatial4 estadd local TIMEFE "TREND" estadd local FE "MUNI" * Add Time Dummies xi: xtnbreg invasions_count L.inv_100km L2.inv_100km L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_exprop_recogin_100km L.ref_recog_out_100km L.landgini_exp_recogin L.landgini_recog_out i.year, fe dif est store spatial5 estadd local TIMEFE "YEAR FE" estadd local FE "MUNI" * Add State specific time dummies xi i.state*year, prefix(_IT1) xtnbreg invasions_count L.inv_100km L2.inv_100km L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_exprop_recogin_100km L.ref_recog_out_100km L.landgini_exp_recogin L.landgini_recog_out _IT1*, fe dif est store spatial6 estadd local TIMEFE "STATSPEC" estadd local FE "MUNI" xi i.mesoreg*year, prefix(_IT2) local labrename "L.ruralpc" "Percent Rural" "L.landgini_extrap" "Land Gini" "L.lnagprodareacult" "log(Ag Productivity)" "L.log_inccap" "log(Income per capita)" "L.ref_exprop_recogin_100km" "Relevant Neighboring Reforms" "L.landgini_recog_out" "Land Gini*Neighboring Recognitions out of State" "L.ref_recog_out_100km" "Neighboring Recognitions out of State" "L.landgini_exp_recogin" "Land Gini*Relevant Neighboring Reforms" "L.ref_exprop_recogin_100km" "Relevant Neighboring Reforms" "L.inv_100km" "Neighboring Land Invasions (t-1)" "L2.inv_100km" "Neighboring Land Invasions (t-2)" "L3.inv_100km" "Neighboring Land Invasions (t-3)" estout spatial* using tabJCR03_spatlag.tex, replace style(tex) starlevels(* .10 ** .05 *** .01) varwidth(50) modelwidth(10) wrap cells(b(star fmt(3)) se(par fmt(3))) collabels(none) mlabels(none) eqlabels(none) varlabels("`labrename'" ) order(L.inv_100km L2.inv_100km L3.inv_100km L.ref_recog_out_100km L.ref_exprop_recogin_100km L.landgini_recog_out L.landgini_exp_recogin L.landgini_extrap L.ruralpc L.lnagprodareacult L.log_inccap) stats(TIMEFE FE N, labels("Time Trend" "Fixed Effects" "Observations") fmt(0 0 0)) drop(*_Istate* *_Iyear* _IT1* *yearcountpoly* _cons) * **************************************************************** * Table A12. Peasant Organization as an Alternative Explanation for Land Invasions, 1988-2013 * **************************************************************** * Re-doing some models from Table 2 (M3/4/5) and Table 3 (M5) for subsets of invasions with and without MST involvement xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if socmovmst==0, cl(ibgecode) dif estadd local TIMEFE "YES" estadd local FE "YES" est store peasantorg1 xi: qui logit invasions_dum L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if socmovmst==0, cl(ibgecode) dif estadd local TIMEFE "YES" estadd local FE "YES" est store peasantorg2 xi: qui nbreg invasions_families L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if socmovmst==0, cl(ibgecode) dif estadd local TIMEFE "YES" estadd local FE "YES" est store peasantorg3 xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if (socmovmst>0 & invasions_count>0) | (socmovmst==0 & invasions_count==0) , cl(ibgecode) dif estadd local TIMEFE "YES" estadd local FE "YES" est store peasantorg4 xi: qui logit invasions_dum L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if (socmovmst>0 & invasions_count>0) | (socmovmst==0 & invasions_count==0), cl(ibgecode) dif estadd local TIMEFE "YES" estadd local FE "YES" est store peasantorg5 xi: qui nbreg invasions_families L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if (socmovmst>0 & invasions_count>0) | (socmovmst==0 & invasions_count==0), cl(ibgecode) dif estadd local TIMEFE "YES" estadd local FE "YES" est store peasantorg6 * from Table 3: xi: nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_exprop_recogin_100km L.ref_recog_out_100km L.landgini_exp_recogin L.landgini_recog_out yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if socmovmst==0, cl(ibgecode) dif estadd local TIMEFE "YES" estadd local FE "YES" est store peasantorg7 xi: nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_exprop_recogin_100km L.ref_recog_out_100km L.landgini_exp_recogin L.landgini_recog_out yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if (socmovmst>0 & invasions_count>0) | (socmovmst==0 & invasions_count==0), cl(ibgecode) dif estadd local TIMEFE "YES" estadd local FE "YES" est store peasantorg8 * Prepare estout local labrename "L.ruralpc" "Percent Rural" "L.landgini_extrap" "Land Gini" "L.lnagprodareacult" "log(Ag Productivity)" "L.log_inccap" "log(Income per capita)" "L.ref_100km" "All Neighboring Reforms" "L.landgini_reforms" "Land Gini*All Neighboring Reforms" "L.ref_exprop_recogin_100km" "Relevant Neighboring Reforms" "L.ref_recog_out_100km" "Neighboring Recognitions out of State" "L.landgini_exp_recogin" "Land Gini*Relevant Neighboring Reforms" "L.landgini_recog_out" "Land Gini*Neighboring Recognitions out of State" estout peasantorg1 peasantorg7 peasantorg4 peasantorg8 using tabJCR06.tex, style(tex) replace starlevels(* .10 ** .05 *** .01) varwidth(50) modelwidth(10) wrap cells(b(star fmt(3)) se(par fmt(3))) collabels(none) mlabels(none) eqlabels(none) varlabels("`labrename'" ) order(L.ref_100km L.ref_exprop_recogin_100km L.ref_recog_out_100km L.landgini_reforms L.landgini_exp_recogin L.landgini_recog_out L.landgini_extrap L.ruralpc L.lnagprodareacult L.log_inccap ) subs("Delta " "$\Delta\$") stats(TIMEFE FE N, labels("Time Trend" "Fixed Effects" "Observations") fmt(0 0 0)) drop(*_Istate* *yearcountpoly* _cons) * **************************************************************** * Table A13. PoliticalAffiliation of Governor and the President as * an Alternative Explanation for Land Invasions, 1988-2010 * **************************************************************** ** Governor Ideology xi: qui nbreg invasions_count leftgovernor rightgovernor L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif estadd local TIMEFE "YES" estadd local FE "YES" est store polideo1a xi: nbreg invasions_count leftgovernor rightgovernor L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_exprop_recogin_100km L.ref_recog_out_100km L.landgini_exp_recogin L.landgini_recog_out yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state, cl(ibgecode) dif estadd local TIMEFE "YES" estadd local FE "YES" est store polideo1b ** Agreement President / Governor * Agreement Right/Center xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if (governorideo2=="center_right" & presidentideo2=="center_right"), cl(ibgecode) dif estadd local TIMEFE "YES" estadd local FE "YES" est store polideo2 * Agreement Left xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if (governorideo2=="left" & presidentideo2=="left"), cl(ibgecode) dif estadd local TIMEFE "YES" estadd local FE "YES" est store polideo3 * No Agreement xi: qui nbreg invasions_count leftgovernor rightgovernor L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_100km L.landgini_reforms yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if (governorideo2=="left" & presidentideo2=="center_right") | (governorideo2=="center_right" & presidentideo2=="left"), cl(ibgecode) dif estadd local TIMEFE "YES" estadd local FE "YES" est store polideo4 * Agreement Right/Center xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_exprop_recogin_100km L.ref_recog_out_100km L.landgini_exp_recogin L.landgini_recog_out yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if (governorideo2=="center_right" & presidentideo2=="center_right"), cl(ibgecode) dif estadd local TIMEFE "YES" estadd local FE "YES" est store polideo5 * Agreement Left xi: qui nbreg invasions_count L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_exprop_recogin_100km L.ref_recog_out_100km L.landgini_exp_recogin L.landgini_recog_out yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if (governorideo2=="left" & presidentideo2=="left"), cl(ibgecode) dif estadd local TIMEFE "YES" estadd local FE "YES" est store polideo6 * No Agreement xi: nbreg invasions_count leftgovernor rightgovernor L.ruralpc L.lnagprodareacult L.log_inccap L.landgini_extrap L.ref_exprop_recogin_100km L.ref_recog_out_100km L.landgini_exp_recogin L.landgini_recog_out yearcountpoly1 yearcountpoly2 yearcountpoly3 i.state if (governorideo2=="left" & presidentideo2=="center_right") | (governorideo2=="center_right" & presidentideo2=="left"), cl(ibgecode) dif estadd local TIMEFE "YES" estadd local FE "YES" est store polideo7 * Prepare estout local labrename "L.ruralpc" "Percent Rural" "leftgovernor" "Left Governor" "rightgovernor" "Right Governor" "L.landgini_extrap" "Land Gini" "L.lnagprodareacult" "log(Ag Productivity)" "L.log_inccap" "log(Income per capita)" "L.ref_100km" "All Neighboring Reforms" "L.landgini_reforms" "Land Gini*All Neighboring Reforms" "L.ref_exprop_recogin_100km" "Relevant Neighboring Reforms" "L.ref_recog_out_100km" "Neighboring Recognitions out of State" "L.landgini_exp_recogin" "Land Gini*Relevant Neighboring Reforms" "L.landgini_recog_out" "Land Gini*Neighboring Recognitions out of State" estout polideo1a polideo1b polideo2 polideo3 polideo4 polideo5 polideo6 polideo7 using tabJCR07.tex , style(tex) replace starlevels(* .10 ** .05 *** .01) varwidth(50) modelwidth(10) wrap cells(b(star fmt(3)) se(par fmt(3))) collabels(none) mlabels(none) eqlabels(none) varlabels("`labrename'" ) order(L.landgini_extrap L.ref_100km L.ref_exprop_recogin_100km L.ref_recog_out_100km L.landgini_reforms L.landgini_exp_recogin L.landgini_recog_out leftgovernor rightgovernor L.ruralpc L.lnagprodareacult L.log_inccap ) subs("Delta " "$\Delta\$") stats(TIMEFE FE N, labels("Time Trend" "Fixed Effects" "Observations") fmt(0 0 0)) drop(*_Istate* *yearcountpoly* _cons) * **************************************************************** * Figure A1. Land Invasions and Land Reforms in Brazil, 1988-2013 * **************************************************************** bysort year: egen inv_count_yr = sum(invasions_count) bysort year: egen reforms_count_yr = sum(reforms_count) sort ibgecode year twoway (line inv_count_yr year) (line reforms_count_yr year) if (ibgecode==1100015 & year>1987 & year<2014), ytitle("Count of Invasions and Reforms") scheme(tufte) legend(col(2) order(1 "Invasions" 2 "Land Reforms")) xtitle("Year") ylab(, nogrid) graph export "ReformsInvasions_byyear.pdf", as(pdf) replace * **************************************************************** * Figure A2. Public Recognitions vs. Private Expropriations by State, 1988-2013 * **************************************************************** preserve drop if year>2013 | year < 1988 collapse (sum) incra_refcounttot_state incra_refcounttot_federal incra_refcounttot_exprop incra_refcounttot_recog, by(state year) label variable incra_refcounttot_state "State Reforms" label variable incra_refcounttot_federal "Federal Reforms" label variable incra_refcounttot_exprop "Private Expropriations" label variable incra_refcounttot_recog "Public Land Recognitions" tsset state year local states AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO local GRAPHSA capture drop avgyr* forvalues i=1/26{ local state `: word `i' of `states'' *twoway (tsline incra_refcounttot_state, lpattern(solid)) (tsline incra_refcounttot_federal, lpattern(dot)) if state==`i', scheme(s2mono) xlabel(1990 1994 1998 2002 2006) xtitle("") legend(off) title("`state'") name("graphA_`state'", replace) graph bar (asis) incra_refcounttot_recog incra_refcounttot_exprop if state==`i', over(year, label(angle(45))) stack legend(off) title("`state'") bar(1, bcolor(gs13)) bar(2, bcolor(black)) name("graphA_`state'", replace) ylab(, nogrid) legend(col(2)) scheme(lean1) local GRAPHSA "`GRAPHSA' graphA_`state'" } grc1leg `GRAPHSA', iscale(*0.8) cols(3) scheme(lean1) name("graphA", replace) graph display graphA, ysize(9) xsize(7) gr export Reforms_recogvsexprop_bystateyear.pdf, as(pdf) replace restore