Hi,
I'd like to create a coefficient plot similar to the one below but using one color when "XXX = 2" (i.e. rep78=2), another when "XXX = 3" (i.e. rep78=3) and so on.

And would also like a compact display of all coefficients for the same variable as below using the code below

Any help would be greatly appreciated. Thank you
I'd like to create a coefficient plot similar to the one below but using one color when "XXX = 2" (i.e. rep78=2), another when "XXX = 3" (i.e. rep78=3) and so on.
Code:
sysuse auto, clear
gen mpg2 = inrange(mpg, 26.5, 41)
la var mpg2 "High mpg"
gen mpg3 = inrange(mpg, 33.75, 41)
la var mpg3 "Very high mpg"
gen headroom2 = inrange(headroom, 3.25, 5)
la var mpg2 "High headroom"
gen headroom3 = inrange(headroom, 4.125, 5)
la var mpg3 "Very high headroom"
gen trunk2 = inrange(trunk, 14, 23)
la var mpg2 "High trunk"
gen trunk3 = inrange(trunk, 18.5, 23)
la var mpg3 "Very high trunk"
global mpg "mpg2 mpg3"
global headroom "headroom2 headroom3"
global trunk "trunk2 trunk3"
foreach var of varlist $mpg $headroom $trunk {
local lbl : variable label `var'
cap gen i_`var' = rep78
label var i_`var' "`lbl'"
qui tab i_`var'
reghdfe `var' i.i_`var' weight turn gear_ratio, absorb(foreign)
est sto `var'
}
coefplot ($mpg \ $headroom \ $trunk) ///
, keep(2.i* 3.i* 4.i* 5.i*) ///
headings(2.i_mpg2 = "{bf: Mpg }" ///
2.i_headroom2 = "{bf: Headroom }" ///
2.i_trunk2 = "{bf: Trunk }" ///
) ///
xline(0) ///
byopts(compact) eqstrict ///
legend(order(1 "Controls") ///
position(6)) scale(0.9) ///
ysize(14)
Code:
sysuse auto, clear
global varlist "mpg headroom trunk"
gen rep78_2 = inrange(rep78, 4, 5)
gen mpg2 = inrange(mpg, 26.5, 41)
la var mpg2 "High mpg"
gen mpg3 = inrange(mpg, 33.75, 41)
la var mpg3 "Very high mpg"
gen headroom2 = inrange(headroom, 3.25, 5)
la var headroom2 "High headroom"
gen headroom3 = inrange(headroom, 4.125, 5)
la var headroom3 "Very high headroom"
gen trunk2 = inrange(trunk, 14, 23)
la var trunk2 "High trunk"
gen trunk3 = inrange(trunk, 18.5, 23)
la var trunk3 "Very high trunk"
* Preparing variable names
foreach l in varlist {
forvalues k = 2/3 {
global `l'`k' = ""
foreach var in ${`l'} {
global `l'`k' = " ${`l'`k'} `var'`k'"
}
forvalues j=1/2 {
global `l'`k'_`j' = ""
foreach var in ${`l'} {
global `l'`k'_`j' = " ${`l'`k'_`j'} `var'`k'_`j'"
}
}
}
}
foreach var of varlist $varlist2 $varlist3 {
local lbl : variable label `var'
cap gen i_`var' = rep78_2
label var i_`var' "`lbl'"
qui tab i_`var'
reghdfe `var' i_`var', absorb(foreign)
est sto `var'_1
reghdfe `var' i_`var' weight turn gear_ratio, absorb(foreign)
est sto `var'_2
}
coefplot ($varlist2_1 \ $varlist3_1 \ ///
, pstyle(p4) mcolor(blue) ciopts(lcolor(blue) recast(rcap))) ///
($varlist2_2 \ $varlist3_2 \ ///
, pstyle(p4) mcolor(green) ciopts(lcolor(green) recast(rcap))) ///
, keep(i_* ) ///
headings(i_mpg2 = "{bf: Mpg }" ///
i_headroom2 = "{bf: Headroom }" ///
i_trunk2 = "{bf: Trunk }" ///
) ///
xline(0) ///
byopts(compact) eqstrict ///
legend(order(1 "No controls" 3 "Controls") ///
position(6)) scale(0.9) ///
ysize(14)
