coefplot: размещение имен регрессий на оси Y - PullRequest
0 голосов
/ 27 января 2019

Следующий код сгенерирует график коэффициентов:

sysuse auto, clear
regress price mpg trunk length turn if foreign==0
estimates store D
regress price mpg trunk length turn if foreign==1
estimates store F
coefplot D F, drop(_cons) xline(0)

enter image description here

Однако я хочу поставить собственные имена для каждого сохраненного регрессионного наборарезультаты на y-axis:

enter image description here

Я пробовал разные вещи в отношении масштаба и надписей, например xrescale, но не смог.


РЕДАКТИРОВАТЬ:

Я не хочу повторять Domestic и Foreign.Я только хочу оставить trunk.Все остальные коэффициенты не нужны.Так что Domestic и Foreign появятся только один раз.

1 Ответ

0 голосов
/ 27 января 2019

Я думаю, что это ужасная идея.Если вы продолжаете повторять Domestic/Foreign, то читатель не сможет узнать, какая пара соответствует каждой переменной.

Вот лучший подход:

sysuse auto, clear
estimates clear 

regress price mpg trunk length turn if foreign==0
estimates store D

regress price mpg trunk length turn if foreign==1
estimates store F

coefplot (D, asequation(Domestic) \ F, asequation(Foreign)), drop(_cons) xline(0) 

enter image description here

В качестве альтернативы:

coefplot (D, asequation \ F, asequation), drop(_cons) xline(0) ///
eqlabels("Domestic" "Foreign", asheadings)

enter image description here


РЕДАКТИРОВАТЬ:

Единственный способ достичь желаемого - использовать следующий хак:

coefplot D F, drop(_cons mpg length turn) ///
coeflabels(trunk = `""Domestic -" " " " " " " " " " " " " " " "Foreign -""') ///
ylabel(, notick labgap(0)) xline(0) legend(off)

enter image description here

Вам, очевидно, придется адаптировать егодля разных вариантов использования.

...