Development Micro-econometrics Study Group: Code Notes

日本語で経済学分析に有用なコードの備忘録を作成しています。We provide explanations of useful codes in Japanese for data cleaning, analysis, visualization like memorandum. Our software focuses on STATA, R, Python.

Stataでエラーを無視してスクリプトを進めさせる。

Stataでエラーがでたときに、時によっては無視して進めてほしい場合がある。エラーが出るといったんコードが止まってしまうので、エラーがあった場合もそれを無視して進めさせたいときに使うのがcap (captureでも可)コマンドである。

ex 1) 複数人でコード共有するときのパスの設定 複数人でdo-fileを共有すると、パスが人によって違うので各々作業を始めるときにパスをいちいち書き直さないとエラーで止まってしまう。しかし、

cap: cd "Dropbox\Tanaka"
cap: cd "Dropbox\Okada"

とすると、田中さんのパソコンでは上のpathを読み込み、下はエラーとなるので無視してコードが進み、岡田さんのパソコンでもその逆が起こるのでいちいちエラーが吐き出されずに済む。

ex 2) * close (log close \ est clearなど) 長いコードを書きlogファイルに記録していると、前でlog onされたがlog closeの前でコードが止まるとそれが閉じていないことがある。するともう一度上からコードを回すときに、閉じていないのにlog using ...が指令されエラーがでて止まってしまう。毎回do fileが止まるたびに手動でlog closeをするのは面倒なので、do-fileの最初のほうにcap: log closeを入れておけばよい。log onとなっていない場合、逆にcloseするものがなくこれがエラーとなってしまうので、capが必要である。