log using "regressions.3.log",replace clear set memory 150000 set matsize 250 set more off use "data3" keep if matched==1 gen int val_gap=abs(dvalue-rvalue) gen byte high_val=dvalue=85 replace exp_out=3 if damages==50 & rvalue==60 & exp_out==. replace exp_out=4 if damages==100 & exp_out==. replace exp_out=4 if damages==50 & rvalue==40 & exp_out==. label def outcome 1 "Trade--Racetrack Buys" 2 "Trade---Racetrack Sells" 3 "Nonconcensual Taking" 4 "Neither Trade Nor Taking" label val exp_out outcome gen int exp_pay=rvalue if damages==100 & ((dvalue<=20 & rvalue==40) | (dvalue<=30 & rvalue==60)) replace exp_pay=rvalue if damages==50 & dvalue<=15 replace exp_pay=dvalue if damages==50 & dvalue>=85 replace exp_pay=rvalue if damages==50 & rvalue==60 & exp_out==3 replace exp_pay=dvalue if exp_out==4 gen int ineff=dvalue-60 if dvalue<85 & dvalue>60 & exp_out==3 & damages==50 replace ineff=40-dvalue if dvalue<=40 & dvalue>=15 & exp_out==4 & damages==50 /*may need to change*/ replace ineff=rvalue-dvalue if dvaluedvalue replace actineff=dvalue-rvalue if act_out==1 & rvalue<=dvalue replace actineff=dvalue-rvalue if act_out==3 & rvalue<=dvalue replace actineff=rvalue-dvalue if act_out==4 & rvalue>dvalue replace actineff=0 if actineff==. table exp_out damages, c(mean exp_pay mean ineff count number) row col table act_out damages, c(mean act_pay mean actineff count number) row col /* H1-H4 */ gen byte dvalcat=recode(dvalue,15,50,85,100) table dvalcat rvalue damages, c(count number) row col *table dvalcat damages rvalue if matched==1, c(count number) row col gen byte s1_goff=1 if s1_choic=="B" & dvalcat==100 & s1_value<=17.50 & damages==50 replace s1_goff=1 if s1_choic=="A" & dvalcat==15 & s1_value>=32.50 & damages==50 replace s1_goff=1 if (s1_choic=="B" & dvalcat==85 & s1_valuedvalue & damages==50 replace s1_goff=0 if s1_goff==. & damages==50 tab s1_goff, missing table dvalcat s1_choic if damages==50, c(mean s1_value mean s1_goff count number) row col table dvalcat s1_goff if damages==50, c(mean s1_value count number) row col gen byte CT=(where_o=="CT") gen byte FC=(where_o=="FC") gen byte FL=(where_o=="FL") gen byte QF=(where_o=="QF") gen byte YA=(where_o=="YA") gen byte YE=(where_o=="YE") gen byte usc=CT gen byte ford=(where_o=="FC" | where_o=="FL") gen byte quinn=QF gen byte yale=(where_o=="YA" | where_o=="YE") gen byte ucla=(where_o=="") gen byte dfem=dgen=="f" table dfem damages, row col gen byte rfem=rgen=="f" tab rfem damages gen byte samesex=dfem*rfem table samesex damages, row col gen df_rf=(dgen=="f" & rgen=="f") gen df_rm=(dgen=="f" & rgen=="m") gen dm_rf=(dgen=="m" & rgen=="f") gen dm_rm=(dgen=="m" & rgen=="m") gen d1=dvalcat==15 gen d2=dvalcat==50 gen d3=dvalcat==85 gen d4=dvalcat==100 dprobit s1_goff usc ford quinn ucla dfem rfem samesex d1 d3 d4 if damages==50 probit /*probit s1_goff usc ford quinn ucla df_rf df_rm dm_rf d1 d3 d4 if damages==50*/ /* Weaker H1 Hypotheses: H1-W: High-value drive-in owners will offer to pay racetrack owners not to operate at night and will offer no more than their value minus $50. H2-W: Low-value drive-in owners will offer to allow racetrack to operate and will not accept less than their value. H3&H4 the same */ gen byte ws1_goff=1 if s1_choic=="B" & dvalcat==100 & s1_valuedvalue & damages==50 replace ws1_goff=1 if (s1_choic=="B" & dvalcat==85 & s1_valuedvalue & damages==50 replace ws1_goff=0 if ws1_goff==. & damages==50 tab ws1_goff, missing table dvalcat s1_choic if damages==50, c(mean s1_value mean ws1_goff count number) row col table dvalcat ws1_goff if damages==50, c(mean s1_value count number) row col /* dprobit ws1_goff usc ford quinn ucla dfem rfem samesex d1 d3 d4 if damages==50 probit dprobit ws1_goff usc ford quinn ucla df_rf df_rm dm_rf d1 d3 d4 if damages==50 probit */ /* H6 -- H5 is below (original numbering?) */ gen byte s2_cons=1 if damages==50 & ((s1_choic=="A" & s2_choic=="B") | (s1_choic=="B" & s2_choic=="C")) replace s2_cons=0 if damages==50 & s2_cons==. sum s2_cons if damages==50 & (s2_choic=="B" | s2_choic=="C") & (s1_choic=="A" | s1_choic=="B") table s1_choic s2_choic if damages==50, row col table s1_choic rvalue s2_choic if damages==50 & (s2_choic=="B" | s2_choic=="C") & (s1_choic=="A" | s1_choic=="B"), c(sum s2_cons count s2_cons) row col table s1_choic rvalue s2_choic if damages==50, c(sum s2_cons count s2_cons) row col table s1_choic s2_cons, row col table s1_choic s2_choic if s2_cons==1, c(mean s2_value) gen byte rtv60=rval==60 gen byte rtv40=rval==40 gen byte bribe=s1_choic=="B" /*Bribe defined to be offer by Drive-in to Racetrack not to operate at night*/ dprobit s2_cons usc ford quinn ucla dfem rfem samesex rtv40 bribe if damages==50 probit dprobit s2_cons usc ford quinn ucla dfem rfem samesex rtv40 bribe if damages==50 & (s1_choic=="A" | s1_choic=="B") & (s2_choic=="B" | s2_choic=="C") probit /*probit s2_cons usc ford quinn ucla df_rf df_rm dm_rf rtv40 bribe if damages==50*/ gen s2_consA=damages==50 & (s1_choic=="A" & s2_choic=="B") gen s2_consB=damages==50 & (s1_choic=="B" & s2_choic=="C") /* H5 bteq == Better than Equilibrium */ gen byte s1_bteq=(s1_choic=="A" & s1_value<=32.50 & damages==50) | (s1_choic=="B" & s1_value>=17.50 & damages==50) | (s1_choic=="A" & s1_value<=30 & rvalue==60 & damages==100) | (s1_choic=="A" & s1_value<=20 & rvalue==40 & damages==100) gen byte s2_accpt=s2_choic=="A" tabulate s1_bteq s2_accpt if damages==50 table s1_choic rvalue s1_bteq if damages==50 & (s1_choic=="A" | s1_choic=="B"), c(sum s2_accpt count s2_accpt) /* dprobit s2_consA usc ford quinn ucla dfem rfem samesex rtv40 bribe if damages==50 probit dprobit s2_consA usc ford quinn ucla df_rf df_rm dm_rf rtv40 bribe if damages==50 probit dprobit s2_consB usc ford quinn ucla dfem rfem samesex rtv40 bribe if damages==50 probit dprobit s2_consB usc ford quinn ucla df_rf df_rm dm_rf rtv40 bribe if damages==50 probit */ /* H8n -- not original numbering -- seems to be H7 in chapter */ gen byte s3_ratl=s3_choic=="A" & (s2_choic=="B" & s2_value-dvalue>.5*(50-dvalue)) & damages==50 replace s3_ratl=1 if s3_choic=="B" & (s2_choic=="B" & s2_value-dvalue<.5*(50-dvalue)) & damages==50 replace s3_ratl=1 if s3_choic=="A" & (s2_choic=="C" & -s2_value>.5*(50-dvalue)) & damages==50 replace s3_ratl=1 if s3_choic=="B" & (s2_choic=="C" & -s2_value<.5*(50-dvalue)) & damages==50 table s2_choic s3_choic if damages==50 & (s2_choic=="C" | s2_choic=="B"), c(sum s3_ratl count s3_ratl) row col *list s2_choic s2_value s3_choic dvalue if s3_ratl==1 & damages==50 table s2_choic dvalcat s3_choic if damages==50 & (s2_choic=="C" | s2_choic=="B"), c(sum s3_ratl count s3_ratl) row col /* H8 -- fits numbering in chapter 10*/ gen byte s4_ratl=(s4_choic=="A" & rvalue==60 & damages==50) | (s4_choic=="B" & rvalue==40 & damages==50) | (s4_choic=="B" & damages==100) replace s4_ratl=. if s4_choic=="" sum s4_ratl if damages==50 tabulate s4_choic rvalue if damages==50 gen int ineffall=1 if act_out==1 & rvaluedvalue replace ineffall=1 if act_out==3 & rvaluedvalue replace ineffall=0 if ineffall==. /* H9 */ tabulate s1_choic if damages==100 tabulate s1_choic dvalcat if damages==100 tab dvalcat if damages==100 & s1_choic=="B" /* H10 */ tabulate s2_choic if damages==100 table s1_choic s2_choic if damages==100, row col tabulate s2_choic rvalue if damages==100 /* H11 */ table s2_choic rvalue if damages==100, c(mean s2_value sd s2_value count number) /* H11b: Racetrack owners in stage 2 should accept only better than equilibrium offers */ tabulate s1_bteq s2_accpt if damages==100 & s1_choic=="A" table s1_bteq rvalue s2_accpt if damages==100 & s1_choic=="A", c(count number) /* H12 -- not listed in text */ gen byte s2_good=(s2_choic=="B" & s2_value>dvalue & damages==100) replace s2_good=. if s2_choic=="A" | s2_choic=="D" tabulate s2_good s3_choic if damages==100 table s2_good rvalue s3_choic if damages==100, c(count number) /* H12n -- not listed in text */ tabulate s4_choic if damages==100 tabulate s4_choic rvalue if damages==100 /*Liability rule alone*/ dprobit ineffall usc ford quinn ucla dfem rfem samesex d1 d3 d4 rtv40 if damages==50 probit /*probit ineffall usc ford quinn ucla df_rf df_rm dm_rf d1 d3 d4 rtv40 if damages==50*/ /*Property rule alone*/ dprobit ineffall usc ford quinn ucla dfem rfem samesex d1 d3 d4 rtv40 if damages==100 probit /*probit ineffall usc ford quinn ucla df_rf df_rm dm_rf d1 d3 d4 rtv40 if damages==100*/ /* /*Liability and property rules*/ dprobit ineffall prop dfem rfem samesex d1 d3 d4 rtv40 probit dprobit ineffall prop df_rf df_rm dm_rf d1 d3 d4 rtv40 probit regress actineff prop regress actineff prop dfem rfem samesex d1 d3 d4 rtv40 regress actineff prop df_rf df_rm dm_rf d1 d3 d4 rtv40 */ gen exp_brib=1 if damages==50 & dvalue>85 replace exp_brib=0 if exp_brib==. tab exp_brib gen nobribe=1 if exp_brib==1 & s1_choic~="B" replace nobribe=0 if nobribe==. tab nobribe /* dprobit nobribe dfem rfem samesex dvalue if exp_brib==1 probit dprobit nobribe df_rf df_rm dm_rf dvalue if exp_brib==1 probit */ /*Testing Liability rule alone*/ gen exp_sell=1 if damages==50 & dvalue<15 replace exp_sell=0 if exp_sell==. tab exp_sell /*no sell is defined here as failure to sell at any point in negotiations*/ gen nosell=1 if exp_sell==1 & (s1_choic~="A" & (s2_choic=="B" & s2_val>=32.50) & s3_choic~="A") replace nosell=1 if exp_sell==1 & (s1_choic~="A" & s2_choic=="B" & s2_val<32.50) replace nosell=1 if exp_sell==1 & (s1_choic~="A" & s2_choic~="B") replace nosell=1 if exp_sell==1 & (s1_choic=="A" & s2_choic=="B" & s2_val>=32.50 & s3_choic~="A") replace nosell=0 if nosell==. tab nosell /* dprobit nosell dfem rfem samesex dvalue rtv40 if exp_sell==1 probit dprobit nosell df_rf df_rm dm_rf dvalue rtv40 if exp_sell==1 probit */ /*no sell here defined as failure to offer to sell at first stage*/ gen nosell1=1 if exp_sell==1 & s1_choic~="A" replace nosell1=0 if nosell1==. tab nosell1 /* dprobit nosell1 dfem rfem samesex dvalue if exp_sell==1,classic probit dprobit nosell1 df_rf df_rm dm_rf dvalue if exp_sell==1,classic probit */ gen exp_take=1 if damages==50 & rvalue==60 & dvalue>15 & dvalue<85 replace exp_take=0 if exp_take==. tab exp_take gen notake=1 if exp_take==1 & s4_choic=="B" replace notake=0 if notake==. tab notake /* dprobit notake dfem rfem samesex dvalue if exp_take==1 probit dprobit notake df_rf df_rm dm_rf dvalue if exp_take==1 probit */ gen byte dvalcat2=recode(dvalue,15,20,30,50,85,100) table dvalcat2 rvalue damages, c(mean dvalue count number) by(end_own) gen byte deal=(s2_choic=="A" | s3_choic=="A") table dvalcat2 rvalue damages, c(mean dvalue mean deal count number) gen byte dvalcat3=recode(dvalue,20,30,100) table dvalcat rvalue if damages==50, c(count number mean exp_pay mean act_pay) row col table dvalcat3 rvalue if damages==100, c(count number mean exp_pay mean act_pay) row col table dvalcat2 rvalue if damages==100, c(count number mean exp_pay mean act_pay) row col log close