STATA もう同じコマンドを入力しないでいい!!便利な繰り返しコマンド

for文に代表される繰り返しコマンドであるが,プログラミングをやっている人からすると,「なにをいまさら」という話であろう.

しかし,プログラミングをやったことがない学部生がSTATAを使いだすと,繰り返しコマンドを使わずに何度も同じコマンドを書いてしまう.(私も昔は,コピペを何度もして,何度も同じコマンドを書いていました.)

そんな初心者に使ってほしいコマンドがforeachである.

foreachを使用すると同じ作業をするときに,非常に効率が上がる.

例えば,変数AからCまでを従属変数,a~dを独立変数とし,OLS,プロビット,ロジットを行った場合,foreachを使用しないと以下のようになります.

reg A a b c d 
probit A a b c d
logit A a b c d

reg B a b c d 
probit B a b c d
logit B a b c d

reg C a b c d 
probit C a b c d
logit C a b c d

しかし,foreachを使うと,

foreach v of var A B C {
reg `v' a b c d 
probit `v' a b c d
logit `v' a b c d
}

と,短縮させることができます.

コマンドのイメージは,`v'にA B Cを順番に入れて,{ }の中を繰り返していく感じです.

今回はA B Cの3回しか繰り返していませんが,もっとたくさん繰り返すことができます.また,変数以外にも数字も入れることもできます.下のコマンドでは,1~100まで入れて繰り返しています.

foreach n of numlist 1/100 {
}

詳しくはマニュアルをご覧ください.

https://www.stata.com/manuals13/pforeach.pdf




この記事が気に入ったらサポートをしてみませんか?