我有x1 , x2, and x3
如下局部变量
local x1 2 3 5
local x2 5 9 7
local x3 1 3 4
现在我定义local x
为
local x `x1' `x2' `x3'
接下来,我将 for 循环定义为
foreach var of varlist `x'{
reg y `var'}
问题是stata给了我错误(注意y
是因变量)
invalid name
在这方面的任何建议都将受到高度赞赏。
我认为宏是“延迟输入”。这是我使用的方法。
sysuse auto, clear
local x1 weight
local x2 headroom trunk
local x3 length turn
forvalue i = 1/3 {
regress price `x`i''
}
假设这些是变量,理查的解决方案显然会奏效。但是,即使没有必要,它也要求您重命名所有宏。
您可以只扩展宏两次:
local x x1 x2 x3
foreach var of local x {
reg y ``var''
}
你也可以这样做,但如果你的变量列表太长,你会遇到问题:
local x "`x1'" "`x2'" "`x3'"
foreach var of local x {
reg y `var'
}