显示变量标签而不是变量名称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')
瞧,标签现在都在生成的图表上了
希望这有帮助