从边际效应coefplot中删除变量(mlogit)

时间:2019-12-17 22:31:39

标签: stata mlogit marginal-effects coefplot

在Stata中运行多项逻辑对数回归后,我想通过Add创建关于边际效应的系数图。我想获得什么帮助:

  • 我只想在图形中保留一个变量-coefplot,它具有6个类别,并希望从图中删除其他变量。

  • 此外,我想尽可能保留i.cohort的所有类别(包括基本类别)。因此,如附图所示,当前我只能使用以下代码获得i.cohort类别。

  • 对于结果变量的类别,我想保持其显示状态,即所有四个类别的系数值,但水平表示置信区间(CIs)。

这是我到目前为止的代码和输出:

5

enter image description here

下面您可以找到一个示例数据集:

mlogit edattain i.cohort3 both sex age agesqr i.ownershipd i.electric, base(1) nolog

margins, dydx(*) post

coefplot (, keep(*:1._predict) label(No Education)) ///
(, keep(*:2._predict) label(Primary))   ///
(, keep(*:3._predict) label(Secondary))  ///
(, keep(*:4._predict) label(Higher))  ///
, drop(both sex age agesqr 100.ownershipd 210.ownershipd 250.ownershipd 999.ownershipd ///
1.electric 2.electric _cons) swapnames xline(0) legend(rows(1))

在这种情况下,我想将* Example generated by -dataex-. To install: ssc install dataex clear input int rep78 byte foreign int(price length weight) . 0 6486 182 2520 2 0 4060 201 3330 4 0 5798 214 3700 1 0 4934 198 3470 3 0 5222 201 3210 3 0 4723 199 3200 . 0 4424 203 3420 2 0 4172 179 2690 5 1 9690 189 2830 3 1 6295 174 2070 4 1 9735 177 2650 4 1 6229 170 2370 5 1 4589 165 2020 4 1 5079 170 2280 4 1 8129 184 2750 3 1 4296 161 2130 end label values foreign origin label def origin 0 "Domestic", modify label def origin 1 "Foreign", modify 的两个类别都保留在系数图中,而不是只省略i.foreign1作为基本结果以及所有5个结果0中的类别。我希望删除其他预测变量。

1 个答案:

答案 0 :(得分:1)

以下对我有用:

sysuse auto, clear

mlogit rep78 i.foreign price length weight, base(1) nolog
margins, dydx(*) post

coefplot (, keep(*.foreign:1._predict) label(rep78 1)) ///
(, keep(*.foreign:2._predict) label(rep78 2))   ///
(, keep(*.foreign:3._predict) label(rep78 3))  ///
(, keep(*.foreign:4._predict) label(rep78 4))  ///
(, keep(*.foreign:5._predict) label(rep78 5))  ///
,  omitted xline(0) legend(rows(1))

enter image description here