循环以将文本附加到变量标签

时间:2017-03-19 23:09:14

标签: stata

我已经标记了很多变量,但我希望在标签中包含单位(数千个)。而不是手动将(000s)添加到我的长label var命令列表中,是否有办法在循环中执行此操作?

到目前为止,我只使用变量的名称 - 在循环开始之前我可以添加另一行,它将提取并存储我对变量的当前标签吗?

    foreach var of varlist A-Z{
        label var `var' "`var' (000s)"
    }

1 个答案:

答案 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以获得比我在此处给出的更好的解释。