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.

2020-01-01から1年間の記事一覧

Stataでデータセット結合:あなたが探しているのは「merge m:m」?それとも「joinby」?

二つのデータセットを、ある変数をkeyとして横方向で結合したい場合、多いと思います。 このkeyがそれぞれのデータセットでunique(被りがない)なら、普段通り、merge 1:1を使えば問題ありません。 また、一方のデータセットはkeyとなる変数がuniqueになっ…

Stataで重複する観測値を残す(duplicates keep)。

Stataで重複する観測値がある場合にduplicatesコマンドを用いることができる。例えば、duplicates drop variable, forceとすれば、重複するvariableを落とすことができる。 しかし、重複する観測値だけを残すというオプションは筆者の探す限り見つからなかっ…

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

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

Stataでデータから行列(matrix)を取り出す。

データの中から行列を取り出すことができるコマンドはmkmatである。(筆者はDelta methodでstandard errorを計算するときに必要な操作であった。) 例えば、変数が(var1 var2)のように二つありそれぞれの観測数がKであるとする。それらを2*Kの行列として取り出…

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

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

Stataで文字列の空白を削除する。

元のデータがエクセルなどで手入力されていたりすると、一つのセルの中で変な空白が入ってしまっていることがある。これが数字の情報だったりすると文字列として読み込まれてしまうので、整理する必要がある。そういったときに便利なのがsubinstrコマンドで…

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

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

Stataで数字列から部分的な情報を取り出す方法。

データのセル内に特定のルールで数字列が並んでいるときに、その一部を取り出す方法。例えば、以下のようなデータがあるとする。 市町村ID(6桁) = 都道府県ID(2桁) + 市町村番号 (4桁) 291045 = 29 + 1045 この時、都道府県IDだけのデータを取り出すには、 g…

Stataでグラフを別ウインドウで表示させない

Stataでグラフを描く際、デフォルトでは別ウインドウでグラフが表示される。 しかし、大量のグラフなどを出力したい時など、毎回別ウインドウで表示させる必要がない場合もある。 このような時に、グラフを描くコードを回しながらもグラフ自体は別ウインドウ…

Stataで特定のルールに従ったセル内の情報を分割する。

一つのセルの中に特定のルールで、いくつかの数値情報などが含まれているときに使うコード。例えば、IDなどが一つのセルの中に入ってしまっている状況が考えられる。3291049004 / 4343046133のような情報が列に入っている。/が分割ルールになっている。その…

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

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

Stataで複数の変数を一気に足し合わせる

複数の変数、特にデータ上で連続している変数を足し合わせるのに楽なコード。 "-"は左の変数から右の変数までの全ての変数を…の意味。 egen sum_x = rowtotal(x1 - x100) ここでは例えば、種類別に分かれている所得データ(e.g. 農業所得: Income_agricultur…