#delimit; version 9.2; set more on; quietly log; local logon = r(status); if "`logon'" == "on" {; log close; }; log using 306hwk04.log, text replace; /* ************************************************************ */ /* File Name: 306hwk04.do */ /* Date: October 17, 2007 */ /* Author: Frederick J. Boehmke */ /* Purpose: Replicate Gelpi and Griesdorf Figure 1 with */ /* ordered logit model, and recreate with mnl. */ /* Output File: 306hwk04.log */ /* 306hwk04.gph */ /* Input File: winlose.dta */ /* ************************************************************ */ /*********************************/ /* First for ordered logit. */ /*********************************/ use "C:\Work\WPDOCS\Syllabi\Essex - Specification\Labs\winlose.dta", clear; ologit chalwin3 chaldemc defdemoc audresq4 demcapbl allycpbl relcapbl rlstake3 relres4 chalnuke defnukes; quietly indeplist, local; /* -indeplist- is an added on command, use -findit indeplist- to install. */ collapse (mean) `Xchalwin3'; /* This keeps only the relevant variables. */ /* Set up the challenger and defender democracy scores. */ expand 4; replace chaldemc = 4 in 1/2; replace chaldemc = 21 in 3/4; replace defdemoc = 4 if _n==1 | _n ==3; replace defdemoc = 21 if _n==2 | _n ==4; /* Now set up the resolve scores for each combination of democracy. */ /* use -egen, group- to create democracy combination identifier. */ /* Make sure to replace the other variables that depend on democracy. */ expand 7; sort chaldemc defdemoc; egen simnum = group(chaldemc defdemoc); bysort simnum: replace relres4 = _n - 4; generat audadvsq = (chaldemc - defdemoc)^2; replace audresq4 = relres4*audadvsq; replace demcapbl = relcapbl*defdemoc*chaldemc; /* Now predict probability of challenger victory. */ predict yhat, pr outcome(3); keep yhat relres4 simnum; /* Reshape to make graph command easier. */ reshape wide yhat, i(relres4) j(simnum); /* Label the variables and create the graph. Note that the graph */ /* is not saved, but is -name-ed so that we can access it later. */ /* I used the legend option extensively to make it look like */ /* there is one legend in the final, combined graph. */ label variable yhat4 "Both Democratic"; label variable yhat3 "Ch. Dem., Df. Autoc."; label variable yhat2 "Ch. Autoc., Df. Dem."; label variable yhat1 "Both Autocratic"; label variable relres4 "Relative Resolve"; twoway line yhat* relres4, scheme(s1color) nodraw title(Ordered Logit) lwidth(medthick medthick medthick medthick) ytitle("") ylabel(0(0.1)0.8, grid) xtitle("") xlabel(-3(1)3) legend(order(1 2) cols(1) rows(2) region(lstyle(none)) position(5)) name(ologit, replace); /*********************************/ /* Second for multinomial logit. */ /*********************************/ use "C:\Work\WPDOCS\Syllabi\Essex - Specification\Labs\winlose.dta", clear; mlogit chalwin3 chaldemc defdemoc audresq4 demcapbl allycpbl relcapbl rlstake3 relres4 chalnuke defnukes; quietly indeplist, local; collapse (mean) `Xchalwin3'; expand 4; replace chaldemc = 4 in 1/2; replace chaldemc = 21 in 3/4; replace defdemoc = 4 if _n==1 | _n ==3; replace defdemoc = 21 if _n==2 | _n ==4; expand 7; sort chaldemc defdemoc; egen simnum = group(chaldemc defdemoc); bysort simnum: replace relres4 = _n - 4; generat audadvsq = (chaldemc - defdemoc)^2; replace audresq4 = relres4*audadvsq; replace demcapbl = relcapbl*defdemoc*chaldemc; predict yhat, pr outcome(3); keep yhat relres4 simnum; reshape wide yhat, i(relres4) j(simnum); label variable yhat4 "Both Democratic"; label variable yhat3 "Ch. Dem., Df. Autoc."; label variable yhat2 "Ch. Autoc., Df. Dem."; label variable yhat1 "Both Autocratic"; label variable relres4 "Relative Resolve"; twoway line yhat* relres4, scheme(s1color) nodraw title(Multinomial Logit) lwidth(medthick medthick medthick medthick) ytitle("") ylabel(0(0.1)0.8, grid) xtitle("") xlabel(-3(1)3) legend(order(3 4) cols(1) rows(2) region(lstyle(none)) position(7)) name(mnl, replace); /*********************************/ /* Now combine the graphs. */ /*********************************/ graph combine ologit mnl, scheme(s1color) title("Effect of Relative Resolve the Probability of Challenger Victory," "by Challenger and Defender Democracy Score and Model", size(medlarge)) l1title("Pr(Challenger Victory)") b1title("Relative Resolve") saving(306hwk04, replace); log close; *clear; *exit, STATA;