Stata Panel:如何为组分配值,合并?

时间:2013-01-29 09:16:02

标签: stata

我有一组公司(id,year)。每家公司也属于特定国家。现在我想按国家/地区添加GDP时间序列。

目标是,例如来自美国的每家公司都被分配了美国当年的GDP等等。

谁能告诉我该如何去做?有没有办法在这里使用merge命令?

1 个答案:

答案 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)
-----------------------------------------

如果你没有任何不匹配的东西(这是我的验证和清理代码所看到的),你应该很高兴。