如何在同一图表上获得多个系数

时间:2016-01-28 01:13:15

标签: plot graphics stata coefficients

在Stata中,我使用coefplot包来尝试在同一个图上绘制多个回归中的一个系数(换句话说,将有多个系数,但每个系数来自不同的回归)。

以下是代码(与Plotting same coefficient over time相关),当每个回归中的系数具有相同的名称时,它会完成此

ssc install coefplot
sysuse auto, clear
estimates clear
regress price mpg if foreign==0
est sto t1
regress price mpg if foreign==1
est sto t2
regress price mpg if rep78==5
est sto t3
coefplot t1 || t2 || t3, drop(_cons) vertical bycoefs yline(0)

这一切都很好,花花公子。但是,当每个回归的系数与不同的变量相关时,我怎么能完成同样的事情呢?例如:

estimates clear
regress price mpg if foreign==0
est sto t1
regress price trunk if foreign==1
est sto t2
regress price weight if rep78==5
est sto t3
coefplot t1 || t2 || t3, drop(_cons) vertical bycoefs yline(0)

当我只想要一个图时,这会生成三个单独的图。我需要做些什么才能做到这一点?我想要的是有一个图表来自mpgt1),truckt2)和weight({{ 1}})所有绘制在同一个图上。最好还要知道如何在标记这些系数t3mpg, truck, weight之间进行切换。

一种解决方案是使用矩阵,但我想尽可能避免沿着这条路走下去。

1 个答案:

答案 0 :(得分:5)

注意:coefplot是用户编写的命令。

以下示例:

sysuse auto, clear

estimates clear

regress price mpg if foreign==0
est sto t1

regress price trunk if foreign==1
est sto t2

regress price weight if rep78==5
est sto t3

coefplot (t1\t2\t3), drop(_cons) xline(0)

除了通常的help之外,请查看命令作者Ben Jann的this document