Stata中新创建指标变量的自动标签
我有一个名为Stata中新创建指标变量的自动标签,stata,Stata,我有一个名为region的变量,它有22个元素。以下是表格区域的输出: region of place of work | Freq. Percent Cum. ---------------------------+----------------------------------- tyne & wear | 6 1.20 1.20 rest of norther
region
的变量,它有22个元素。以下是表格区域的输出:
region of place of work | Freq. Percent Cum.
---------------------------+-----------------------------------
tyne & wear | 6 1.20 1.20
rest of northern region | 12 2.40 3.60
south yorkshire | 9 1.80 5.40
west yorkshire | 23 4.60 10.00
rest of yorks & humberside | 9 1.80 11.80
east midlands | 42 8.40 20.20
east anglia | 12 2.40 22.60
central london | 41 8.20 30.80
inner london (not central) | 23 4.60 35.40
outer london | 19 3.80 39.20
rest of south east | 97 19.40 58.60
south west | 46 9.20 67.80
west midlands metropolitan | 29 5.80 73.60
rest of west midlands | 14 2.80 76.40
greater manchester | 15 3.00 79.40
merseyside | 2 0.40 79.80
rest of north west | 31 6.20 86.00
wales | 12 2.40 88.40
strathclyde | 23 4.60 93.00
rest of scotland | 27 5.40 98.40
northern ireland | 8 1.60 100.00
---------------------------+-----------------------------------
Total | 500 100.00
我使用选项卡region,gen(region)
从中创建了指标变量。这将创建22个新变量,从region\u 1
到region\u 22
。我确实希望指标变量具有简单的名称,如区域1
等(例如,使用区域*
更容易调用它们)。问题是变量的标签,类似于region==south-west
。我希望它是西南部
我已经研究了dummieslab
(SSC),但它的重点是为新变量names添加标签。所有的解决方案都不起作用。你知道一种自动获取的方法吗?即使是一个简单的函数,比如从标签中删除特定的单词(去掉区域==
位),也可以工作。我找不到类似的东西。循环变量,每次都从标签中删除不需要的文本。此基本功能记录在帮助宏和相应的手动条目中
foreach v of var region_* {
local lbl : var label `v'
local lbl : subinstr local lbl "region==" "", all
local lbl = trim("`lbl'")
label var `v' "`lbl'"
}
有关罐装解决方案,请参阅SSC上的labutil
中的labvarch
,您可以使用它安装
ssc inst labutil
“这些解决方案都不起作用”(带有链接):要么是指不同的问题,要么(在一种情况下)与下面的答案相关。值得称赞的是labutil
,尤其是labnoeq
!事实上,我很惊讶tablate没有包含一个额外的选项来自动删除oldvar==
位。这会非常方便。