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.

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

STATAでcsvを読み込む際のエラー

csvを読み込もうとしたときに、 long invalid varname error in line 1 of file r(198); などと表示されて読み込めないことがあった。筆者の場合は、全てのファイルを閉じたうえで、 Update all を実行することでなぜかエラーがなくなった。

STATAで列の順番を変える (order/move)

STATAのデータセットの列の順番を変えるには以下の2通りがある: order 特定の列をデータセットの一番左側に移動させる。 order var1 var2 var3 とすることで、order の後ろで指定された列 (varlist, ここでは var1~var3) を、その指定した順番で、データ…

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で特定の変数名をシステマティックに一気に変える。

STATAは変数名が長いとinvalid nameとなってしまう。しかし、全ての変数名をひとつづつ変えるのは手間だしミスしてしまうかもしれない。いいデータなら似たような単語に似たような変数名がついているので、そのパターンを用いて同時に省略することを考える。…

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のegen sum()とgen sum()

変数を作成・加工する際に使用するsum()関数は、egenかgen(またはreplace)かによって、出力が異なる。 例えば、 以下のようなデータを考える。 id var1 a 1 b 2 c 3 この時、egenとgenそれぞれでvar1変数をsum()すると、 egen var1_sum_egen = sum(var1) g…

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

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

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

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