2017-11-20 4 views
-1

私は3つの変数を持つデータセットを持ち、すべてのブロックは異なる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' 
} 
+1

MCVEが不足しているため、不明です。 https://stackoverflow.com/help/mcve –

+0

少なくとも5つの変数があるようです。それ以外の理由はなぜですか? –

答えて

1

「動作しないこと」悪名高い情報価値がありませんエラー報告として。スタータは何をしたのですか?エラーメッセージがありましたか?どのような正確な意味で、あなたはあなたが望むものを手に入れようとしなかったのですか?

あなたの質問には、構文が必要とするローカルマクロSicが定義されていることが示されていません。それは私の最も強い推測です。あなたのような例えば

、最も簡単な構文は、整数全体でstatsbyまたはループにを使用することです:

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

それでも私たちは、Sicが文字列ではなく数値であることを特定することはできません。文字列の場合は、別の構文が必要です。

関連する問題