Stata

Stata doファイルをダブルクリックしたときの挙動

version 11くらいからか,フォルダ上のdoファイルをクリックしたときの挙動が doファイルを実行する から do-file editorを起動してdoファイルを加筆修正できる に変わったように思います。 フォルダ上のdoファイルをダブルクリックしたら,doファイルを実行…

display関数で表示させる時のformat指定

久々にStataネタ。何らかの計算結果をlocal変数に代入し,その後displayコマンドで表示させたい時を考えます。local変数に入れた値が大きい場合,指数として表示されることがあります。その時に整数として表示させる方法。 やり方は簡単で,displayコマンド…

statsbyコマンド

ただしこの時,data-editorの中身は,推定結果に置き換えられるので注意が必要です。fm.adoの中身では,一時ファイルを作成することにより,data-editorの中身が変わるという問題を回避しています。 コマンドのシンタックスは, statsby [exp_list] , option…

fm.ado

六甲台大学でPetersenが配布していたFama and Frenchの推定用adoファイルの解説をしたので,そのファイルを配布します。 データ等は https://www.dropbox.com/sh/t53jk5gvxgr3crp/Wmd8s47_du にあります。(今回はlatexでも文章を書きましたのでご参照を。。…

なお,一度定義したadoファイル,programはその後もStata内で記憶されているため,書き換える際には,doファイルの冒頭に"program drop _all"を付けた方がよいです。 以下のようにado,doファイルの頭につけたほうが楽かもしれません。 program drop _all pro…

doファイル内で(複数の)プログラムを作成する。

先週の勉強会で「一つのdoファイル中に複数のprogramを作成することができないか」との質問が出ました。 参加者のTさんが答えてくれたのですが,doファイルの頭にprogramを作成すると,同一doファイル内で読み込めるとのこと。 つまり, program hoge dis "H…

*adoファイルとdo ファイル

adoファイル コマンドを新たに作成することができる。 たとえば,regコマンドに対しては,regress.adoファイルが存在する。 adoファイルを作成 do fileエディタ上で作成できる。メモ帳でもOK。 program…から始まりendで終わる。 adoフォルダに保存する。 ado…

capture doファイルを回しているときに作業とは関係がない箇所でerrorが出て作業が中断されて困った経験があるので探してみたら,captureコマンドが便利そう。 例えばすでにlogファイルを開いているのに,それに気づかずdoファイルを回していて,途中のlog u…

If文をone linerで記述。

doファイルを書くたびにあったら便利だなと思ってたんですが,あったようです。()で囲めばよいようです。 たとえば, if n == 1 { dis "hoge" } は, if (n == 1) dis "hoge" と1行で記述することが可能のようです。3行が1行になるので,シンプルな内容であ…

outreg2を本格的に使いだした。多くの類似した図表を作る必要に迫られたため。 これは,Stataの分析結果を論文形式に近い形で再出力するものです。 類似コマンドとしてoutregやestimateが挙げられます。 ただ良い点は,XML形式などに対応している点がありま…

ThinkPad X40のUbuntuのバージョンを10.04にしたついでに以前から気になってたStataのインスコ。以下の記事を参照しました。 http://ubuntuforums.org/showthread.php?t=1136124 CDを 突っ込んで,以下のコマンドを打っていく。 .sudo mkdir /usr/local/stat…

時刻を表示させる

display "$S_TIME $S_DATE" で,メイン画面に現在の時間が出る。時間がかかる作業などをやるときに, log using hoge, replace display " Begin at: $S_TIME $S_DATE" log close 作業内容 log using hoge, append display " End at: $S_TIME $S_DATE" log cl…

度数分布の出し方

久しぶりに記事を、Stataネタで。度数分布の出し方。 離散変数の場合は、 tabulate hoge でいける。ほぼ連続変数の場合、あるいは離散だけど階級の数が多いためにまとめた場合*1は、 egenで新しい変数を作ればok。 egen cut_hoge = cut(hoge) if enmxs == 0,…

内容はrow return, ar, size- or roa- matching, などを日次、月次で作成した。それらの詳細は専門書(Campbell et al, 1997など)をご参照のこと。CARについては以前に上げましたが某氏から、標準誤差の算出が適当だと指摘を受けました。CARでイベントスタデ…

Stata 11でのmergeコマンド

11からmerge コマンドが少し変わったみたい.具体的にはmergeと変数名の間に,master とslaveの観測数間の関係を表さないといけないっぽい. .merge 1:1 id using slave たとえば, masterとslaveの変数関係が1:1ならば”1:1"と,複数対1 or 1対複数なら"m:1"…

分析結果を別ファイルに蓄える

postfileコマンドで,分析結果などを別のdtaファイルに蓄えることができる. postfileコマンドで蓄えるファイル名とその中の変数名を定義し,その後は,postコマンドで突っ込んでいくだけ. postのときに数式を()で囲むところが特殊かと. clear postfile fo…

Stataで- more - を二度と見なくする方法

set more off, permanently で行けるみたい.permanentlyオプションがっていろいろ使えるみやいやね.set memory の時しか使ってなかった.なぜいままで思いつかなかったのか.

tabstatの結果をきれいにする.

tabstatコマンドのオプションで ,labelwidth(20) columns(statistics) は必須.labelwidth(hoge)で,変数の文字数を設定することができる.デフォルトだと長い変数名を用いたときに~で省略される.columns(statistics)で,行列を入れ替えることができる.こ…

M. Robertsの授業で使われたdoファイル

http://finance.wharton.upenn.edu/~mrrobert/ にシラバスがある.あと,授業で使ったStataのdoファイルがある. 結構面倒な作業までやっているので確認してみると面白いかと. winsorを自分でプログラミングしてます.

フォルダ操作

たとえば、c:\data\hoge.dtaというファイルをStataのコマンド・ラインから開くには、2つの方法があります。(1)そのまま、C:\data\hoge.dtaと打つ。(2)C:\dataというフォルダに移動してから、hoge.dtaと打つ。 hoge.dtaという名前のファイルを使いたいときに…

summarizeの後に中央値をr()で取り出すとき.

summarizeコマンドにdetailオプションを付けないと,中央値なんかが取り出せないっぽい. 今から栗きんとん作ってくる.

Stataのグラフをwordに貼り付け

グラフを表示したあとに右クリック → Save graphを選択. あとは,windowsで読めそうなグラフの拡張子(wmfとかtifとか)を選んで保存. なんて優しい先輩なんだ.こんど飯でもおごってもらお.

Stataで日本語を使う方法

メイン画面,data editor,グラフ画面のそれぞれで右クリック → フォント → フォント名からMSゴシックなどの日本語対応フォントを選ぶ → 文字セットを「日本語」に でok. あまりネットにも落ちていない様子.多言語に対応していなかったのか(推測),昔から使…

stataからVimを呼び出す

program vim version 8 * discard winexec \vim\vim61\gvim.exe `*' end でおk.winexec以下にexeのある場所を書けばよい.ちなみに秀丸なんかでもいけるはず.コマンドラインから"vim hoge.do"と打てば,hoge.doが開く.winececとはshellってコマンドは使え…

プロットしたグラフに線を引く

.twoway fpfit Yvar Xvar .twoway mspline Yvar Xvar あたりが使える.ただ,両方でかなり線が異なる.Stataのマニュアルは,細かな定義などが書いていないから困る.できればその辺りもオープンにして欲しいんですけどね.

たまに忘れるんでメモ

rubyは`` stataは`' で囲まないといけない.

RAの仕事で算出することに

以前,学部の後輩がSTATA上で全作業できるらしいっすよ(゜Д゜)って言ってたのを思い出したのですが,できず.どこかの大学のサイトにDoファイルが書いているらしいが,見つからず.というわけで前作業をExcelでさせて,やってみた. 下のはそれを若干修正し…

joinbyコマンド

merge コマンドだと,親と子データのキーが1対1対応になってないといけない なので, id,year 1,1995 1,1996 1,1997 2,1995 2,1996 2,1997 3,1995 3,1996 3,1997 と, id,name 1,A 2,B 3,C という二つのデータセットはくっつけられない. いっぽう,joinbyコ…

Excelに張り付けたシートに星をつける.

この前のStata勉強会でStataの結果を張り付けた後に,星をどうやってつけるか話題になった. 先生が関数で書けばいいじゃんとのこと. =IF(A1="","",IF(A1 A1に,p値の入ったセルを指定(4か所) (2010/8/9; p-値が空白の時にも対応)

四捨五入と切り捨て

四捨五入は: .gen new_var = round(old_vra) 切り捨ては: .gen new_var = floor(old_vra) display round(var)みたいな使い方もできた.