显示变量标签而不是变量名称Stata';s边距图

显示变量标签而不是变量名称Stata';s边距图,stata,Stata,在Stata中,我想运行一个回归,直观地显示每个变量的系数及其相对于零的置信区间,如下面的代码和图所示: sysuse auto regress price mpg weight length foreign gear_ratio headroom rep78 margins, dydx(*) marginsplot, horizontal recast(scatter) xline(0, lcolor(red)) xscale(range()) yscale(reverse) 在y轴上,我

Stata
中,我想运行一个回归,直观地显示每个变量的系数及其相对于零的置信区间,如下面的代码和图所示:

sysuse auto
regress price mpg weight length foreign gear_ratio headroom rep78
margins, dydx(*)
marginsplot, horizontal recast(scatter) xline(0, lcolor(red)) xscale(range()) yscale(reverse)

在y轴上,我想显示变量标签(右侧),而不是变量名称。可以使用什么样的选项进行配置

              storage   display    value
variable name   type    format     label      variable label
-----------------------------------------------------------------------------------------------------------------------
price           int     %8.0gc                Price
mpg             int     %8.0g                 Mileage (mpg)
weight          int     %8.0gc                Weight (lbs.)
length          int     %8.0g                 Length (in.)
foreign         byte    %8.0g      origin     Car type
gear_ratio      float   %6.2f                 Gear Ratio
headroom        float   %6.1f                 Headroom (in.)
rep78           int     %8.0g                 Repair Record 1978
我意识到这可能是一个基本问题,但任何想法都是值得赞赏的

一个选项是添加:

Y标签(1“英里数(MPG)”2“重量”等)


到marginsplot行的选项。

据我所知,没有直接的方法指示
marginsplot
显示变量的标签而不是其名称。然而,正如@Skimwhistle所指出的,您可以使用
ylabel
手动获取所需的输出

当然,您可以通过编写一个小型
r-class
程序进一步概括这个概念:

program define foo, rclass

syntax varlist

local i = 0

foreach var of local varlist {
    local ++i
    local varlabel : variable label `var'
    local varlabels `varlabels' `i' `" "`varlabel'" "'      
}

return local xvarlabels `varlabels'

end
使用这个小程序,这里我们称之为
foo
,您可以自动获取
列表中的所有变量标签,然后将它们馈送到
marginsplot

clear
sysuse auto

local xvars mpg weight length foreign gear_ratio headroom rep78

foo `xvars'
local xvarlabels `r(xvarlabels)'

regress price `xvars'
margins, dydx(*)

marginsplot, horizontal allxlabels recast(scatter) xline(0, lcolor(red)) ///
xscale(range()) yscale(reverse) ylabel(`xvarlabels')
瞧,标签现在都在生成的图表上了

希望这有帮助