帰国のお知らせ、セミナー発表者募集、RA募集

前回のポストで書いたとおり、
4月1日に帰国しました。


アジ研ではランチセミナーを開催しており、
発表者を募集しています。
http://www.ide.go.jp/Japanese/Event/Apl/index.html
申し訳ないことに大学院生には謝礼は出すことはできませんが(講師以上の方であれば薄謝が出ます)、
発表自体は歓迎します。
自分も、日本にいる限りはほぼ出席しています。
セミナーで報告したいと思われた方は、
上記サイトの連絡先までご連絡ください。


また、個人的に、
データセット構築のRAを募集しています。
Stataのprogramコマンドなどに慣れている方が望ましいです。
たとえば、データの重複などもあるので、
重複データを見つけて、内容(指示した変数、あるいは何も支持していない場合は全変数)が同じの場合には、
重複しているものを一つだけ残し、
内容に違いがあればエラーが出て、
内容が違うけれどidが同じObservationに対しては1、それ以外は0を与える "_differ" という変数を生み出す
以下のようなプログラムを使ったりしています。
すべての重複するIDを確認して、重複するIDは全部同じ内容になったと判断した跡で、
drop if _dupnumber>1
で重複しているため必要のないObservationを削除できます。
何度も同じような処理をする場合には、このようなプログラムを書くことで、
コードも読みやすくなるし、エラーも減ります。


capture program drop dupli
program dupli
syntax [varlist], BY(varname)
tempvar dum samehh
gen `dum'=1 if `by'<.
by `by', sort: gen _dupnumber=sum(`dum')
by `by', sort: egen `samehh'=total(`dum')
gen _duplicate=`samehh'>1
gen _differ=0 if _duplicate==1
set trace on
foreach x of local varlist{
by `by', sort: replace _differ=1 if `x'!=`x'[_n-1] & _n>1 & _duplicate==1
by `by', sort: replace _differ=1 if `x'!=`x'[_n+1] & _n==1 & _duplicate==1
}
preserve
keep if `samehh'>1
foreach x of local varlist{
by `by', sort: assert `x'==`x'[_n-1] if _n>1
}
end
ある程度は、programの使い方について簡単にですが教えることもできると思うので、
データ処理は面倒ですが、仕事を通じて、少しは効率的なコードがかけるようになるかもしれません。

ご関心のある方は、
hkono "atmark" ide.go.jp
までご連絡ください。