【问题标题】:Plotting coefficients in Stata在Stata中绘制系数
【发布时间】:2018-02-14 01:05:49
【问题描述】:

我跟着

https://www.stata.com/meeting/germany14/abstracts/materials/de14_jann.pdf

绘制年龄系数。

我做到了

logit Y i.age
eststo plotplot
coefplot plotplot

但该图的纵轴是年龄,横轴是系数。应该是相反的。

另外,我只想要年龄的系数,而不是常数或其他任何东西。我该怎么做?

“at”命令是否适用于像 i.age 这样的离散解释变量?还是只是需要这么多时间(我不得不停止它,因为它需要这么多时间)?

【问题讨论】:

    标签: plot stata


    【解决方案1】:

    logit 系数不是特别可解释的,因此不清楚为什么要绘制它们。也没有at 命令,尽管margins 命令有一个at() 选项。如果您确实需要索引函数系数,只需从下面省略 margins 步骤。 coefplotmarginsplot 做的事情非常相似,尽管 coefplot 更加灵活。

    我猜你有这样的想法:

    sysuse auto, clear
    xtile mpg_tercile = mpg, nq(3)
    logit foreign i.mpg_tercile weight
    margins, dydx(mpg_tercile) at(weight = 3000) post
    coefplot, vertical
    marginsplot, recast(scatter)
    

    这计算了在每加仑英里分布的中间或顶部三分之一处下降对重量为 3000 的汽车为外来的概率的平均边际效应。

    【讨论】:

    • 谢谢! “垂直”成功了。顺便说一句,如何防止在图表上打印其他变量(包括常数)的系数?此外,x 轴看起来 prntscr.com/iefask 所以我需要将它们更改为像 1,2,3 这样的数字......你知道怎么做吗?再次感谢您!
    • 试试coefplot, vertical keep(*.mpg_tercile) coeflabels(2.mpg_tercile = "Middle Third" 3.mpg_tercile = "Top Third")。这都可以通过输入help coefplot找到。
    • 哦,我不知道我可以在 keep 中使用正则表达式!
    • 对于 coeflabels,我尝试了 "coefplot, vertical keep(*.age) coeflabels(19.age="19" 20.age="20" 21.age="21" 22.age ="22" 23.age="23")" 这似乎有效,但我的年龄要到 70 岁甚至更多。我可以以某种方式缩短代码吗?再次感谢您!
    • 你可以用一个循环写出来,然后把它粘贴到你在coeflabel()中使用的本地,但最简单的方法是使用xlabel(19(10)70)而不是`coeflabel()'。
    猜你喜欢
    • 2014-03-11
    • 1970-01-01
    • 2014-11-20
    • 1970-01-01
    • 2020-11-04
    • 1970-01-01
    • 1970-01-01
    • 2020-02-03
    • 1970-01-01
    相关资源
    最近更新 更多