
 cd C:\Users\mjaremski\Desktop\Replication\Data\

**********************
 import delimited "County-LevelPanel.csv", clear

 gen deflator=1
 drop if farms1910==. 
 drop if farms1920==.
 replace riceac1910=0
 replace rice1910=0

 gen distart=9999
 replace distart=1908 if state=="OK"
 replace distart=1909 if state=="KS"
 replace distart=1914 if state=="MS"
 replace distart=1916 if state=="SD"
 replace distart=1911 if state=="NE"
 replace distart=1917 if state=="WA"
 replace distart=1909 if state=="TX"
 replace distart=1918 if state=="ND"

 gen DIstateever=0
 replace DIstateever=1 if distart~=9999

 gen DIstate=0
 replace DIstate=1 if distart~=. & yr>=distart

 gen tbanks=sbanks+nbanks
 gen sb=sbanks
 gen nb=nbanks
 egen sqmi=max(area), by(state countycode)

 gen openland=(sqmi-(impac*.0015625))/sqmi

 drop mtgdebt
 gen mtgdebt=.
 replace mtgdebt=mtgprin1910 if yr==1910
 replace mtgdebt=mtgprin1920 if yr==1920
 replace mtgdebt=ln(mtgdebt/(farmland1910*deflator)) if yr==1910
 replace mtgdebt=ln(mtgdebt/(farmland1920*deflator)) if yr==1920

 gen pctmtglb=.
 replace pctmtglb=pctmtglb1910 if yr==1910
 replace pctmtglb=pctmtglb1920 if yr==1920

 gen pop=ln(totpop+1)
 gen Black=1-whtot/totpop
 gen urban=urb/totpop
 gen Illit=tillit10/t10tot
 gen mout=ln(mfgout/(totpop*deflator)+1)
 gen pyoung=young/totpop
 gen fout=ln(cropval/(farmland*deflator)+1)
 gen fout2=fout^2
 
 gen fv=ln(farmval/(farmland*deflator)+1)
 gen lnfarms=ln(farms+1)
 gen lnfarmsPC=ln(farms/totpop+1)
 gen lnimpac=ln(impac+1)
 gen lnimpacPC=ln(impac/totpop+1)
 gen pimpac=impac/(sqmi*640)

 gen dfv=.
 replace dfv=ln(farmval1920/(farmland1920))-ln(farmval1910/(farmland1910)) if yr==1920

 gen dfv2=.
 replace dfv2=ln(farmval1925/(farmland1925))-ln(farmval1920/(farmland1920)) if yr==1920

 xtset gp yr, delta(10)

 keep if yr==1910 | yr==1920
 xtset gp yr, delta(10)

 egen minfarms=min(farms), by(gp)
 egen minimpac=min(impac), by(gp)

 gen dimp=(impac1920-impac1910)/impac1910

 egen maxurb25=max(urb25), by(gp)
 drop if maxurb25>0

 egen maxurb=max(urb), by(gp)
 drop if maxurb>25000

 drop if minfarms<250
 drop if minimpac<15000

 drop if sqmi>3500
 drop if totpop<1000
 replace sqmi=ln(sqmi+1)

 replace sloans=ln(sloans+1)
 replace nloans=ln(nloans+1)

 gen sbint=sb*dcropindex24_19
 gen nbint=nb*dcropindex24_19

 gen Dsloans=D.sloans
 gen Dnloans=D.nloans

 replace sclosedassets=ln(sclosedassets+1)
 replace nclosedassets=ln(nclosedassets+1)

 replace sfractionassetsclosed=0 if sfractionassetsclosed==.
 replace nfractionassetsclosed=0 if nfractionassetsclosed==.

 drop if yr==1910 

***************Generate Table 5
 xi: reg dfv2 fv dfv dcropindex24_19 sbint nbint pop Black openland mout urban pyoung fout Illit avgrain stdrain msdist atlanticdist gldist pacificdist sb nb i.state i.district sqmi, robust
 estimates store t1

 xi: reg dfv2 fv dfv dcropindex24_19 Dsloans Dnloans pop Black openland mout urban pyoung fout Illit avgrain stdrain msdist atlanticdist gldist pacificdist sb nb i.state i.district sqmi, robust
 estimates store t2
 
  xi: reg dfv2 fv dfv dcropindex24_19 sclosed nclosed pop Black openland mout urban pyoung fout Illit avgrain stdrain msdist atlanticdist gldist pacificdist sb nb i.state i.district sqmi, robust
 estimates store t3

  xi: reg dfv2 fv dfv dcropindex24_19 sclosedassets nclosedassets pop Black openland mout urban pyoung fout Illit avgrain stdrain msdist atlanticdist gldist pacificdist sb nb i.state i.district sqmi, robust
 estimates store t4

  xi: reg dfv2 fv dfv dcropindex24_19 sfractionassetsclosed nfractionassetsclosed pop Black openland mout urban pyoung fout Illit avgrain stdrain msdist atlanticdist gldist pacificdist sb nb i.state i.district sqmi, robust
 estimates store t5

 esttab t1 t2 t3 t4 t5 using "Table5.csv", b(3) se(3) replace margin r2 starlevels(* 0.10 ** 0.05 *** 0.01) brackets label title("Table ?: ") wrap order(dcropindex24_19 dfv sb nb sbint nbint Dsloans Dnloans sclosed nclosed sclosedassets nclosedassets sfractionassetsclosed nfractionassetsclosed)


***************Generate Table 6
  xi: reg dfv2 fv dfv dcropindex24_19 sclosed pop Black openland mout urban pyoung fout Illit avgrain stdrain msdist atlanticdist gldist pacificdist sb nb i.state i.district sqmi, robust
 estimates store w1

 xi: reg dfv2 fv dfv dcropindex24_19 pop Black openland mout urban pyoung fout Illit avgrain stdrain msdist atlanticdist gldist pacificdist sb nb i.state i.district sqmi sclosuretotal, robust
 estimates store w2

 xi: ivregress 2sls dfv2 fv dfv dcropindex24_19 pop Black openland mout urban pyoung fout Illit avgrain stdrain msdist atlanticdist gldist pacificdist sb nb i.state i.district sqmi (sclosed = sclosuretotal), robust
 estimates store w3

 esttab w1 w2 w3 using "Table6.csv", b(3) se(3) replace margin r2 starlevels(* 0.10 ** 0.05 *** 0.01) brackets label title("Table ?: ") wrap order(dcropindex24_19 dfv sb nb sclosed sclosuretotal)


***************Generate Table A15
  xi: reg dfv2 fv dfv dcropindex24_19 sclosure5 nclosure5 pop Black openland mout urban pyoung fout Illit avgrain stdrain msdist atlanticdist gldist pacificdist sb nb i.state i.district sqmi, robust
 estimates store w1

  xi: reg dfv2 fv dfv dcropindex24_19 sclosure10 nclosure10 pop Black openland mout urban pyoung fout Illit avgrain stdrain msdist atlanticdist gldist pacificdist sb nb i.state i.district sqmi, robust
 estimates store w2

  xi: reg dfv2 fv dfv dcropindex24_19 sclosure15 nclosure15 pop Black openland mout urban pyoung fout Illit avgrain stdrain msdist atlanticdist gldist pacificdist sb nb i.state i.district sqmi, robust
 estimates store w3

 esttab w1 w2 w3 using "TableA15.csv", b(3) se(3) replace margin r2 starlevels(* 0.10 ** 0.05 *** 0.01) brackets label title("Table ?: ") wrap order(dcropindex24_19 dfv sb nb sclosure5 nclosure5 sclosure10 nclosure10 sclosure15 nclosure15)






