Stata 具有数据块的回归循环

Stata 具有数据块的回归循环,stata,Stata,我有一个包含三个变量的数据集,每个块都有不同的Sic代码。我需要对每个Sic进行相同的回归:y=mq+r+d y mq r d Sic x x x x 1 x x x x 1 x x x x 2 x x x x 2 x x x x 3 x x x x 3 我尝试过这种方法,但不起作用: foreach i of local Sic { reg y mq r d if Sic == `i' } “不工作”作为错误报告是出了名的缺乏信息。斯塔塔做了什么或没有做什么?是否有错误消息?在

我有一个包含三个变量的数据集,每个块都有不同的Sic代码。我需要对每个Sic进行相同的回归:y=mq+r+d

y mq r d Sic
x x x x  1
x x x x  1
x x x x  2
x x x x  2
x x x x  3
x x x x  3
我尝试过这种方法,但不起作用:

foreach i of local Sic {
reg y mq r d if Sic == `i'
}
“不工作”作为错误报告是出了名的缺乏信息。斯塔塔做了什么或没有做什么?是否有错误消息?在什么确切的意义上,你得到了你不想要的,还是没有得到你想要的

您的问题中没有任何内容表明您已经定义了一个本地宏
Sic
,语法需要按照您的意愿工作。这是我对这个问题最有力的猜测

对于像您这样的示例,最简单的语法是使用
statsby
或在整数之间循环:

forval i = 1/3 {
    reg y mq r d if Sic == `i'
}

然而,我们不能确定
Sic
是数字而不是字符串。如果是字符串,则需要不同的语法

缺少MCVE,所以不清楚。看起来你至少有5个变量。为什么不这样说?