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 val2
gen 【通し番号の変数名】=_n
例)gen ID=_n
bysort 【カテゴリーとなる変数名】: gen 【通し番号の変数名】=_n
例)bysort year: gen ID=_nただし、カテゴリーとなる変数内に同じ値が複数ある場合には、それらについての順番はランダムとなる。同じ値のものたちの中での順番についてはソート前の順番と同じにしたいときは、次のようにする。
例)sort year, stable by year: gen ID=_n
for 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, sort
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
例)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
log 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)
別ページにまとめる。