Stata †
Ver.14が出ている。
条件文の書き方 †
意味 | 記号 |
等しい | == |
等しくない | != |
等しくない | 半角で〜= |
以上 | >= |
以下 | <= |
かつ | & |
または | 半角で| |
・・・if hoge == 1 の「==1」は省略できるらしい。
変数の操作 †
文字列の操作 †
- 文字列から任意の文字を抽出する。
gen str2(←この場合は2byteの文字列) 【新しい変数名】=substr(【元の変数名】,【開始文字】,【文字数】)
例)gen str6 var2=substr(var1,1,6)
- 文字列を数値に変換した新しい変数を作る。
destring 【元の変数名】, gen(【新しい変数名】)
例)destring var1, gen(var2)
- 通し番号を振る。
gen 【通し番号の変数名】=_n
例)gen ID=_n
繰り返し †
- 文字を利用する場合
foreach 【任意の文字】 in 【文字1】 【文字2】 ・・・ {
【プログラム:「`【任意の文字】'」のところに【文字1】から順に代入される】
・
・
・
【プログラム】
}
例)foreach x in ID Year Date {
replace `x'=0 if `x'==.
replace val99 = 1 if val0=="`x'"
}
例)foreach i in 2 5 17 {
replace val`i'=0 if val`i'==.
replace val99 = 1 if val0==`i'
}
上記は、次のように記述しても同じである(上が「varlist」で、下が「numlist」となることに注意。)。
例)foreach x of varlist ID Year Date {
replace `x'=0 if `x'==.
replace val99 = 1 if val0=="`x'"
}
例)foreach i of numlist 2 5 17 {
replace val`i'=0 if val`i'==.
replace val99 = 1 if val0==`i'
}
頭文字で共通する変数列(「val1,val2,val3」や「x1,x11,x100」など)を選ぶ方法 ※一つだの変数(「ID」など)も並記できる。
例)foreach x of varlist var* x* ID {
replace val`x'=0 if val`x'==.
replace val99 = 1 if val0==`x'
}
平均の表を作成 †
タイプ2に関係する変数hogehogeの平均の表を作成する。
table gyou retsu if type==2, contents(mean hogehoge)
データの結合 †
- データが一部しか共通しない場合(※もちろん全てが共通していても使える)
主データと追加データに共通する変数については、(「update」オプションを付けない場合には)主データが採用される。空白(欠損値)の部分であっても主データが優先される。
「update」オプションを付けると、空白(欠損値)の場合のみ追加データの値が採用される。
use 【追加データ】
sort 【両データで共通する変数名】
save 【追加データ】
clear
use 【主データ】
sort 【両データで共通する変数名】
merge 【両データで共通する変数名】 using 【追加データ】, update
例)use data2.dta
sort ID
save data2.dta
clear
use data1.dta
sort ID
merge ID using data2.dta, update
「update」オプションを利用しない場合には、次のように省略して記述できる。
例)use data2.dta
sort ID
save data2.dta
use data1.dta, clear
merge ID using data2.dta, sort
- 3つ以上のデータを結合する。
use 【追加1データ】
sort 【3つのデータで共通する変数名】
save 【追加1データ】
clear
use 【追加2データ】
sort 【3つのデータで共通する変数名】
save 【追加2データ】
clear
use 【主データ】
sort 【3つのデータで共通する変数名】
merge 【3つのデータで共通する変数名】 using 【追加1データ】, update
drop _merge
sort 【3つのデータで共通する変数名】
merge 【3つのデータで共通する変数名】 using 【追加2データ】, update
drop _merge
例)use data2.dta
sort ID
save data2.dta
clear
use data3.dta
sort ID
save data3.dta
clear
use data1.dta
sort ID
merge ID using data2.dta, update
drop _merge
sort ID
merge ID using data3.dta, update
drop _merge
「update」オプションを利用しない場合には、次のように省略して記述できる。
例)use data2.dta
sort ID
save data2.dta
use data3.dta, clear
sort ID
save data3.dta
use data1.dta, clear
merge ID using data2.dta, sort
drop _merge
merge ID using data3.dta, sort
drop _merge
Tips †
- 回帰結果の表をtex形式にする(要outtex.ado)。
outtex, level detail
パネル †
別ページにまとめる。
オンライン・マニュアル類 †