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で上から次のobservationが出てくるまで同じ値または文字列を入力する(fill fown)。

STATAでネ申を読み込んだとき、上から順に情報が入っていることで、階層が識別されていることがある。例えば以下の例である。 A B 千葉県 浦安市 市川市 船橋市 長野県 長野市 ... この時、データを扱う身としてはA列に次の県が出るまでの全てのobservation…

STATAで特定の文字列が含まれているかを識別する。

変数の中に特定の文字列が含まれているかを識別する方法。例えば、ある変数の列の中に、県と市が混ざっているような場合に、どれが県のobservationと対応しているかを知りたい場合などが考えられる。 つまり、 (列: A) 千葉県 浦安市 市川市 千葉市 市原市 …

STATAで変数名を取得する (ds) 。

STATAで変数名を取得するために ds というコマンドが使える。 特定の型の変数を取得して、その変数に対してある作業を行いたいという場合に利用可能である。 例えば、A, B, C という列で構成されるデータを扱っている時、 ds は A B C と、列名を返す。 ds …

STATAで全ての変数名をlocalとして指定する。

localを用いて変数の組を指定することでミスを防ぎ作業効率を上げることができる。ここでは全ての変数を指定することを考える。var1 - var100のように指定することも考えられるが、それでは変数の順番が変わったり、追加されたりしたときに都度都度修正する…

STATAでcollapseしても変数の名前をキープする。

異なるobservation間で足し算をしたり、duplicateに対処するためにcollapseが有用である。しかし、例えば collapse (sum) population, by(prefecture) を実行すると、その後の変数prefectureのラベルは(sum) prefectureなどとなってしまい、もともとprefectu…

STATAでlocal変数の共通部分を抜き出す。

localは、複数の変数を指定するとき、また、何かの結果を一時保存するのに非常に有用である。その組み合わせ技として、local変数同士から新たなlocal変数を定義したいことがあった(例は一番下)。ここでは、二つのlocalの組から共通の変数を新しいlocalとして…

STATAで変数や文字列の組でループを回す。

STTAで文字列や変数のループを回すときに使うコード。localを用いて変数の組を作り、それぞれのグループの何番目かを指定することでループを作る。 例えば、ANCOVAで複数の回帰分析をループで回したいとき、outcomeとbaselineでのoutcomeの組を指定したい。 …

STATAで複数の変数をまとめて指定する。

STATAで複数の変数を同時に指定したいときがある。例えば、所得が分類ごとに分かれているときに、それらをすべて足し合わせて総所得を計算するとき(変数を足し合わせるコマンドはここではegen rowtotalを用いる)などだ。以下では二つの方法を紹介する。 変数…

STATAでlocal変数から特定の変数を落とす

STATAlocalを用いて変数の組を管理すると何度も入力しなくてよいし、途中で少し違うモデルを回すのが非常に楽になる。 しかしいちいち細かく定義していては全部手で入力しているのとあまり変わらないので、一度定義したものを少し変形して使うことでより綺麗…

Stataで複数のグラフを一つのグラフにくっつけるときにlegendを一つにする方法。

複数のグラフを一つにまとめるとき使われるのが、graph combine ...のコマンドである。 しかし、すべてのグラフが同じlegendの時、グラフごとにlegendが表示されてしまうと目障りである。複数の同じlegendを持つグラフに対して、一つのlegendを表示させるこ…

Stataでestout/esttabの際にlocal statsが表示されない。

回帰分析などの結果をきれいに出力するコマンドであるesttabであるが、表の下のほうに固定効果(FE)の有無や説明変数の有無など複数の情報を入れようとすると、うまく表示されないエラーがあった(他の人はうまくいっているようなので理由不明)。esttab やesta…

Stataでバランステーブルを作る。

RCTなどで、グループ間(e.g., トリートメントとコントロールグループ)で、Covariatesがうまくバランスしているか(t値/F値が統計的に異なっていないか)を調べるときに使うコマンド。$covariates は事前に準備したcovariates(e.g., 家父長の年齢 / 学歴 / 家父…