初級
STATAは変数名が長いとinvalid nameとなってしまう。しかし、全ての変数名をひとつづつ変えるのは手間だしミスしてしまうかもしれない。いいデータなら似たような単語に似たような変数名がついているので、そのパターンを用いて同時に省略することを考える。…
変数を作成・加工する際に使用するsum()関数は、egenかgen(またはreplace)かによって、出力が異なる。 例えば、 以下のようなデータを考える。 id var1 a 1 b 2 c 3 この時、egenとgenそれぞれでvar1変数をsum()すると、 egen var1_sum_egen = sum(var1) g…
二つのデータセットを、ある変数をkeyとして横方向で結合したい場合、多いと思います。 このkeyがそれぞれのデータセットでunique(被りがない)なら、普段通り、merge 1:1を使えば問題ありません。 また、一方のデータセットはkeyとなる変数がuniqueになっ…
Stataで重複する観測値がある場合にduplicatesコマンドを用いることができる。例えば、duplicates drop variable, forceとすれば、重複するvariableを落とすことができる。 しかし、重複する観測値だけを残すというオプションは筆者の探す限り見つからなかっ…
データの中から行列を取り出すことができるコマンドはmkmatである。(筆者はDelta methodでstandard errorを計算するときに必要な操作であった。) 例えば、変数が(var1 var2)のように二つありそれぞれの観測数がKであるとする。それらを2*Kの行列として取り出…
元のデータがエクセルなどで手入力されていたりすると、一つのセルの中で変な空白が入ってしまっていることがある。これが数字の情報だったりすると文字列として読み込まれてしまうので、整理する必要がある。そういったときに便利なのがsubinstrコマンドで…
Stataでエラーがでたときに、時によっては無視して進めてほしい場合がある。エラーが出るといったんコードが止まってしまうので、エラーがあった場合もそれを無視して進めさせたいときに使うのがcap (captureでも可)コマンドである。 ex 1) 複数人でコード共…
データのセル内に特定のルールで数字列が並んでいるときに、その一部を取り出す方法。例えば、以下のようなデータがあるとする。 市町村ID(6桁) = 都道府県ID(2桁) + 市町村番号 (4桁) 291045 = 29 + 1045 この時、都道府県IDだけのデータを取り出すには、 g…
Stataでグラフを描く際、デフォルトでは別ウインドウでグラフが表示される。 しかし、大量のグラフなどを出力したい時など、毎回別ウインドウで表示させる必要がない場合もある。 このような時に、グラフを描くコードを回しながらもグラフ自体は別ウインドウ…
一つのセルの中に特定のルールで、いくつかの数値情報などが含まれているときに使うコード。例えば、IDなどが一つのセルの中に入ってしまっている状況が考えられる。3291049004 / 4343046133のような情報が列に入っている。/が分割ルールになっている。その…
複数の変数、特にデータ上で連続している変数を足し合わせるのに楽なコード。 "-"は左の変数から右の変数までの全ての変数を…の意味。 egen sum_x = rowtotal(x1 - x100) ここでは例えば、種類別に分かれている所得データ(e.g. 農業所得: Income_agricultur…