我已经标记了很多变量,但我希望在标签中包含单位(数千个)。而不是手动将(000s)
添加到我的长label var
命令列表中,是否有办法在循环中执行此操作?
到目前为止,我只使用变量的名称 - 在循环开始之前我可以添加另一行,它将提取并存储我对变量的当前标签吗?
foreach var of varlist A-Z{
label var `var' "`var' (000s)"
}
答案 0 :(得分:4)
您想要的是以下内容。
foreach var of varlist A-Z{
local lbl : variable label `var'
label var `var' `"`lbl' (000s)"'
}
在local
命令中,:
引入了宏扩展函数的使用,在help extended_fcn
中有更详细的描述。
在label
命令中,使用复合双引号围绕标签。如果您的任何标签包含例如单引号,则这些是必需的。请参阅help quotes
以获得比我在此处给出的更好的解释。