Stata 11でのmergeコマンド

11からmerge コマンドが少し変わったみたい.具体的にはmergeと変数名の間に,master とslaveの観測数間の関係を表さないといけないっぽい.

.merge 1:1 id using slave

たとえば,
masterとslaveの変数関係が1:1ならば”1:1"と,複数対1 or 1対複数なら"m:1"or "1:m"と書く必要があるみたい.

1:1の例は以下のとおり.
master

      • -

id x

      • -

1 6
2 7
3 8

      • -

と,
slave.dta

      • -

id y

      • -

1 10
2 11
3 12

      • -

というファイルをmergeするなら,

.merge 1:1 id using slave

というコマンドで,

      • -

id x y

      • -

1 6 10
2 7 11
3 8 12

      • -

となる.

m:1の例は以下のとおり.

master.dta

      • -

id x

      • -

1 6
2 7
2 5
3 8
3 9

      • -


slave.dta

      • -

id y

      • -

1 10
2 11
3 12

      • -

をmergeするなら,

.merge m:1 id using slave

というコマンドで,

      • -

id x y

      • -

1 6 10
2 7 11
2 5 11
3 8 12
3 9 12

      • -

となります.
この場合,変数idがmasterファイルにおいて,複数((m)any)で,slaveファイルにおいて単数(1)になってます.
逆のパターンの時は1:mと書き換えてるぽい.

ちなみに昔のmergeコマンド形式も使えます.