Loops Stata中for循环中的宏
我有如下局部变量Loops Stata中for循环中的宏,loops,local,stata,Loops,Local,Stata,我有如下局部变量x1、x2和x3 local x1 2 3 5 local x2 5 9 7 local x3 1 3 4 现在我将localx定义为 local x `x1' `x2' `x3' 接下来,我将for循环定义为 foreach var of varlist `x'{ reg y `var'} 问题是stata给了我错误(注意y是因变量) 在这方面的任何建议都将受到高度赞赏 我认为宏是“延迟输入”。这就是我使用的方法 sysuse auto, clear loca
x1、x2和x3
local x1 2 3 5
local x2 5 9 7
local x3 1 3 4
现在我将localx
定义为
local x `x1' `x2' `x3'
接下来,我将for循环定义为
foreach var of varlist `x'{
reg y `var'}
问题是stata给了我错误(注意y
是因变量)
在这方面的任何建议都将受到高度赞赏 我认为宏是“延迟输入”。这就是我使用的方法
sysuse auto, clear
local x1 weight
local x2 headroom trunk
local x3 length turn
forvalue i = 1/3 {
regress price `x`i''
}
假设这些都是变量,Richardh的解决方案显然是可行的。但是,它要求您重命名所有宏,即使这不是必需的 只需将宏展开两次:
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'
}
局部变量
x1
、x2
和x3
是变量名的宏吗?1-9是什么?我也试过了,但是我用了一个x'而不是'x
。谢谢,成功了。
local x "`x1'" "`x2'" "`x3'"
foreach var of local x {
reg y `var'
}