Stataでグラフを別ウインドウで表示させない
Stataでグラフを描く際、デフォルトでは別ウインドウでグラフが表示される。 しかし、大量のグラフなどを出力したい時など、毎回別ウインドウで表示させる必要がない場合もある。 このような時に、グラフを描くコードを回しながらもグラフ自体は別ウインドウで表示させない方法が2つある:
set graph off
と先に宣言するgraph ~~
という場合、オプションでnodraw
をつける
どちらもグラフを描くコードを走らせながらもグラフ自体はStata上で表示させないが、2では graph export ~~
等でグラフを特定の形式のファイルに出力できない(2はsave
は可能。 1はexport
も可能)。
また1は、set graph on
を宣言すると再びグラフを別ウインドウで表示してくれるため、特定の部分だけグラフを表示させないことも可能:
set graph off histgram ~~~ graph export ~~~ set graph on graph twoway scatter ~~~
とすると、histrogram~~~
により作成されるヒストグラムは別ウインドウで表示されないまま graph export
で出力でき、その後の graph twoway scatter ~~
はグラフ自体も表示される。
Stataで特定のルールに従ったセル内の情報を分割する。
一つのセルの中に特定のルールで、いくつかの数値情報などが含まれているときに使うコード。例えば、IDなどが一つのセルの中に入ってしまっている状況が考えられる。3291049004 / 4343046133
のような情報が列に入っている。/
が分割ルールになっている。その時、
split ID, p(" / ")
というコードを書くと、""の中のところでセルを分割し、新しく変数が作成される。この場合ID1
とID2
が新たな変数として作成され、それぞれのIDが含まれる。
Stataでバランステーブルを作る。
RCTなどで、グループ間(e.g., トリートメントとコントロールグループ)で、Covariatesがうまくバランスしているか(t値/F値が統計的に異なっていないか)を調べるときに使うコマンド。$covariates
は事前に準備したcovariates(e.g., 家父長の年齢 / 学歴 / 家父長の性別など)、Treatment_Status
はトリートメントグループなら1、コントロールグループなら0をとるダミー変数、village
はクラスターとなる単位、$outputs\balance_table
はtex形式で保存先のフォルダと保存したい名前、を表しているとする。ftest
のオプションでf検定も同時に可能。
iebaltab $covariates, /// grpvar (Treatment_status) /// vce (cluster village) /// savetex ("$outputs\balanceAcc") /// replace onerow ftest rowvarlabel
Stataで複数の変数を一気に足し合わせる
複数の変数、特にデータ上で連続している変数を足し合わせるのに楽なコード。 "-"は左の変数から右の変数までの全ての変数を…の意味。
egen sum_x = rowtotal(x1 - x100)
ここでは例えば、種類別に分かれている所得データ(e.g. 農業所得: Income_agriculture
, 賃金所得: Income_wage
)を全て足して、合計の所得データを作る例。
egen TotalIncome=rowtotal(Income_agriculture-Income_wage)