在Stata中创建一个“for”循环,为多个变量分配不同的标签

时间:2014-09-11 14:57:54

标签: for-loop label stata

我目前正在使用Stata 13.1来检查一长串的浮点变量(例如,A1 - A60)。这些变量中的每一个代表不同医学症状的频率(例如,"失眠","焦虑","恶心")。我要为每个变量添加标签以使数据分析更容易,但更喜欢比以下更优雅的东西:

label var A1 "Insomnia"
label var A2 "Anxiety"
.
.
.
label var A60 "Nausea"

非常感谢任何建议!

1 个答案:

答案 0 :(得分:1)

最初,您需要将标签存放在某个地方。您可以使用本地宏。下面是一个示例,其中的变量遵循一些命名模式(就像您的示例一样)。

clear 
set more off

*----- example data -----

gen A1 = .
gen A2 = .
gen A3 = .

*----- what you want -----

local mylabels "Insomnia Anxiety Nausea"
local n: word count `mylabels'

forvalues i = 1/`n' {
    label variable A`i' `:word `i' of `mylabels''
}

describe

循环并行列表技术来自:http://www.stata.com/support/faqs/programming/looping-over-parallel-lists/

另请参阅help macrohelp help extended_fcn