Ver.13が出ている。
| 意味 | 記号 |
| 等しい | == |
| 等しくない | != |
| 等しくない | 半角で〜= |
| 以上 | >= |
| 以下 | <= |
| かつ | & |
| または | 半角で| |
・・・if hoge == 1 の「==1」は省略できるらしい。
gen 【新しい変数】=sum(【利用する変数】)
例)gen var2=sum(var1)「gen」では上からその値までの合計値が入るが、全体の合計値を入れたい場合には「egen」を利用する。
例)egen var3=sum(var1)
| var1 | var2 | var3 |
| 1 | 1 | 6 |
| 2 | 3 | 6 |
| 3 | 6 | 6 |
gen str2(←この場合は2byteの文字列) 【新しい変数名】=substr(【元の変数名】,【開始文字】,【文字数】)
例)gen str6 var2=substr(var1,1,6)
destring 【変換したい変数名】, replace
例)destring var1, replace
destring 【元の変数名】, gen(【新しい変数名】)
例)destring var1, gen(var2)
gen 【一時的な変数名】=string(【変換したい変数名】) drop 【変換したい変数名】 rename 【一時的な変数名】 【変換したい変数名】
例)gen val3=string(val2)
drop val2
rename val3 val2gen 【通し番号の変数名】=_n
例)gen ID=_n
bysort 【カテゴリーとなる変数名】: gen 【通し番号の変数名】=_n
例)bysort year: gen ID=_nただし、カテゴリーとなる変数内に同じ値が複数ある場合には、それらについての順番はランダムとなる。同じ値のものたちの中での順番についてはソート前の順番と同じにしたいときは、次のようにする。
例)sort year, stable
by year: gen ID=_nfor num 【最初】/【最後】: 【プログラム:「X」のところに区間の数字が順に代入される】
例)for num 3/10: replace valX=0 if valX==.
forvalues 【任意の文字】 = 【最初】/【最後】 {
【プログラム:「`【任意の文字】'」のところに区間の数字が順に代入される】
・
・
・
【プログラム】
}
例)forvalues i = 3/10 {
replace val`i'=0 if val`i'==.
replace val99 = 1 if val0==`i'
}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)
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
例)use data2.dta
sort ID
save data2.dta
use data1.dta, clear
merge ID using data2.dta, sortuse 【追加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
例)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 _mergelog using log.txt, replace text
outtex, level detail
latab var_name if jogai == "n" & group=="G" & sp==1
label define new_var_name 0 "0\%" 1 "0\%-16.7\%" 2 "16.7\%-33.3\%" 3 "33.3\%-50\%" 4 "50\%-" label values var_name new_var_name
tobit offer_rate sp yd r2 r3 if jogai == "n" & group=="G" & member == 1 , ll(0) ul(1)
別ページにまとめる。