在Stata中,如何组合具有不同轴的多个COEFPLOT?

在Stata中,如何组合具有不同轴的多个COEFPLOT?,stata,coefplot,Stata,Coefplot,我试图结合Stata中的两个coefplot——一个表示二元变量的比例,另一个表示逻辑回归的优势比 通过一些示例性数据,我们分别观察吸烟者和非吸烟者的低出生体重情况,并检查种族和高血压史的影响(请注意,这些分析从概念角度来看并不具有意义,相反,它们用于生成一些用于绘图的数据!): 现在,我们可以将这些结果组合成两个图: coefplot (race_0 \ ht_0 , label (Non-smoker)) /// (race_1 \ ht_1 , label (

我试图结合Stata中的两个coefplot——一个表示二元变量的比例,另一个表示逻辑回归的优势比

通过一些示例性数据,我们分别观察吸烟者和非吸烟者的低出生体重情况,并检查种族和高血压史的影响(请注意,这些分析从概念角度来看并不具有意义,相反,它们用于生成一些用于绘图的数据!):

现在,我们可以将这些结果组合成两个图:

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
    参考线
  • 仅在右侧面板上添加图例(适用于吸烟者/非吸烟者)
  • 使用左面板上的
    重新缩放
    选项切换到%s
  • 我尝试了各种各样的方法来实现这些改变,但到目前为止没有任何效果。有什么解决办法吗?

    Ben Jann(《代码》的作者)建议使用他的另一个软件包
    addplot
    (,)。另外三个命令可以添加两条不同的参照线并更改第二个图形的X轴比例:

    addplot 1: , xline(0.31) norescaling legend(off)
    addplot 2: , xline(1) norescaling legend(off)
    addplot 2: , xlab(0.5 1 2 5 20) xscale(log) norescaling legend(off)
    

    唯一的缺点是,尽管使用了usng
    legend(关闭)
    选项,legend还是会疯狂

    addplot 1: , xline(0.31) norescaling legend(off)
    addplot 2: , xline(1) norescaling legend(off)
    addplot 2: , xlab(0.5 1 2 5 20) xscale(log) norescaling legend(off)