我有一组公司(id,year)。每家公司也属于特定国家。现在我想按国家/地区添加GDP时间序列。
目标是,例如来自美国的每家公司都被分配了美国当年的GDP等等。
谁能告诉我该如何去做?有没有办法在这里使用merge
命令?
答案 0 :(得分:1)
由于merge
的帮助文件正确地指出,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)
-----------------------------------------
如果你没有任何不匹配的东西(这是我的验证和清理代码所看到的),你应该很高兴。