Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops Stata中for循环中的宏_Loops_Local_Stata - Fatal编程技术网

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'
}