我试图在Stata中组合两个coefplots - 一个呈现二元变量的比例,第二个 - 逻辑回归的优势比。
采取一些示例性数据,我们分别针对吸烟者和非吸烟者查看低出生体重,并检查种族和高血压病史的影响(请注意,从概念的角度来看,这些分析并不是有意义的,而是 - 它们是用于生成一些用于绘图的数据!):
use http://www.stata-press.com/data/r12/lbw.dta, clear
logit low i.race if smoke == 0
eststo race_0: margins race, post
logit low i.race if smoke == 1
eststo race_1: margins race, post
logit low i.ht if smoke == 0
eststo ht_0: margins ht, post
logit low i.ht if smoke == 1
eststo ht_1: margins ht, post
logit low i.race i.ht if smoke == 0
eststo mod_0
logit low i.race i.ht if smoke == 1
eststo mod_1
现在我们可以将这些结果组合成两个图:
coefplot (race_0 \ ht_0 , label (Non-smoker)) ///
(race_1 \ ht_1 , label (Smoker)) ///
, bylabel(Proportion) ///
|| mod_0 mod_1, ///
eform baselevels bylabel("Adjusted OR") ///
|| , drop(_cons) byopts(xrescale) ///
groups(*.race = "Race" *.ht = "Hypertension")
所有工作都按预期进行,我们得到一个情节:
现在为了让它更漂亮、更容易理解,我想实现更多的东西:
在右侧面板上使用对数刻度(这是最关键的更改)。xline
在每个面板上使用两条不同的参考线。- 仅在右侧面板上添加图例(适用于吸烟者/非吸烟者)。
- 使用
rescale
左侧面板上的选项切换到 %s。
我尝试修改各种选项来实施这些更改 - 但到目前为止无济于事。有什么解决办法吗?