私は企業のパネルを持っています(ID、年)。各企業も特定の国に属しています。ここで、国別の GDP 時系列を追加したいと思います。
目標は、たとえば、米国の各企業に、その年の米国の GDP などを割り当てることです。
誰かがそれについてどうやって行くか教えてもらえますか? merge
ここでコマンドを使用する方法はありますか?
私は企業のパネルを持っています(ID、年)。各企業も特定の国に属しています。ここで、国別の GDP 時系列を追加したいと思います。
目標は、たとえば、米国の各企業に、その年の米国の GDP などを割り当てることです。
誰かがそれについてどうやって行くか教えてもらえますか? merge
ここでコマンドを使用する方法はありますか?
merge
rightfullyのヘルプ ファイルにあるように、merge m:m
ほとんどの場合、これは間違ったアプローチです。会社のデータセットが次のように設定されている場合
clear
input country id year profit
1 1 2010 152
1 1 2011 -8
1 2 2010 1090
2 3 2010 502
2 3 2011 -15
end
tempfile firms
save `firms'
そして国ファイル
clear
input country year gdp
1 2010 287582354
1 2011 298723412
2 2010 89734531
2 2011 87340120
end
tempfile gdp
save `gdp'
次に、firms
ファイルから始めて、次のように結果をマージできます。
use `firms', clear
merge m:1 country year using `gdp'
* check results
tab _merge
assert _merge == 3
* clean up the remaining mess
drop if _merge !=3
drop _merge
これにより、次のような出力が生成されるはずです
Result # of obs.
-----------------------------------------
not matched 0
matched 5 (_merge==3)
-----------------------------------------
一致しなかったものがない場合 (これは私の検証およびクリーンアップ コードが参照するものです)、問題はありません。