Take Your Time

仕事や研究、コンピューターとの付き合い方

STATA

rmiss()

欠損値のないデータセットを作りたい時 egen a = rmiss(_all) keep if a == 0

条件に当てはまる観測を数える

Rの場合 nrow(subset(x, 条件))STATAの場合 sum if 条件; scalar a = r(N) STATAはちょっとめんどくさい

ハウスマン検定の結果を保存

hausman fe re preserve /*一旦保存しておく */ matrix Stat = (r(rank), r(chi2), r(df), r(p)) /*推定結果のマトリックスを作る*/ clear /*メモリを空にしてから*/ svmat double Stat, names(col) /*先程のマトリックスを持ってくる*/ rename c1 rank rena…

記述等計量

諸事情あって便利なadoが使えないので。 tabstat varlist, statistics(N mean sd min median max) save matrix stat = r(StatTotal) preserve clear svmat double stat, names(col) input str20 description "N" "mean" "sd" "min" "median" "max" order des…

マシなテキストエディタ

現行STATAはしらないが、STATA11のエディタはゴミである。Rstudioのすばらしい環境になれているとイライラして仕方ない。 notepad++によってこの問題が解決できる。 http://www.kgolyaev.com/sites/default/files/Stata_Npp_Syntax_Guide.pdfnotepad++をイン…

逆ミルズ

probitを推定した後、 predict y_hat, xb でlatent variableの予測値を計算し、 gen IMR = normalden(y_hat)/normal(y_hat) で計算。

ブートストラップ

ちょっとめんどくさいがマニュアルでブートストラップができる。 解説はhttp://www.ats.ucla.edu/stat/stata/faq/ownboot.htm 要は、rclassのプログラムを組んで、simulateコマンドでシミュレートすると、bstatコマンドで組み込みのbootstrapと同じように結…

bootstrap

割と簡単。 ただのブートストラップは、 bootstrap, reps(100) seed(1): reg y x ここでreps()の引数はサンプリング回数ちょい複雑なやつマージナルエフェクトbootstrap margf = (expression), reps(100) seed(1): reg y xこのうちexpressionの中には、マー…

scalar

文法がメンドクサイがスカラーも作れるみたい scalar a = 1 でaを定義 見るときは scalar list もしくは scalar list a

データのつくりかた

基本的にデータいじりはSTATAの方が楽かも 新しいデータセットをつくるときは、大本のデータセットを読み込んで use ***.dta, clear 次に使う変数だけ保持 keep var1 var2... 分かりやすいように名前を変える rename var1 name 他のデータセットから変数(var…

行列

matrix a = b 行列aをつくる matrix list a 行列aを表示する

アホSTATA

mergeがどうしても出来ないと思ったら、identifierがNAなのが複数あったのをduplicatesとカウントしたようだ。ばかじゃないの

変数の挿入

新変数をnew_varとする new_var = . ですべてNAの新変数ができる order new_var, after(old_var) でold_varの後に挿入される

MATA

MATAの練習。use dataset.dta /*データの呼び出し、 mata st_data(.,"ABC") /* 変数ABCの呼び出し st_data(.,("ABC","DEF")) /* 変数ABCとDEFの呼び出し

ディレクトリーの変更、adoファイルの場所

ディレクトリーの変更はコマンドプロンプトと同じ。 cd ... でできる。 ado.fileの場所の確認は sysdir でできる。

結果の保存、LaTexへの出力

推定結果を保存する。 reg... /*推定*/ estimates save model1 これで推定結果がmodel1.sterというファイルが保存される。LaTexへの保存は、推定の後にouttex, outreg, outreg2などでできる。

必要があって今更STATAを勉強している。

STATAの長所

Rに比べると柔軟性に欠け、ユーザの数も少ないためネット上のレファレンスが少ないSTATAだが、唯一素晴らしいと思えるのが、データビューワーだ。Rのデータビューワー(View)ははっきり行ってゴミである。1000☓1000しか表示できないし、(エクセル…

複数のカテゴリがあるサンプルセレクション(selmlog)

ヘックマンのサンプルセレクションモデルは賃金関数の推定などによく使われるが、もしサンプルセレクションが働いている/失業だけではなくて、フルタイムで働いている/パートタイムで働いている/失業だった場合どうなるだろうか。 方法はいくつかあって、…