我有一个名为region
的变量,它有22个元素。以下是tabulate region
的输出:
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
我使用tab region, gen(region_)
从中创建了指标变量。这会创建22个新变量,从region_1
到region_22
。我确实希望指标变量具有简单的名称,例如region_1
等(例如,使用region_*
更容易调用它们)。问题是变量的标签,类似于region==south west
。我希望它是south west
。
我查看了dummieslab
(SSC),但重点是为新变量名称添加标签。 these个解决方案都不起作用。你知道一种自动获取方法吗?即使是一个简单的函数,比如从标签中删除特定的单词(摆脱region==
位)也行。我找不到类似的东西。
答案 0 :(得分:1)
循环遍历变量并每次从标签中删除不需要的文本。此基本功能记录在help macro
和相应的手册条目中。
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上labvarch
的{{1}},您可以使用
labutil