Stata合并数据

时间:2018-04-06 14:32:34

标签: merge stata merging-data

我有多年的横断面数据。其中有一个唯一的标识符,表示每个横截面中常见的特定人。然而,每年都会增加新人(有些人会死,因此不会在以后的几年内)

我想知道如何在Stata中合并这些数据集以创建一种面板。

示例:

    ID X_2005 Y_2005
    1    700    850
    2    400    311
    3    475    250


   ID  X_2006 Y_2006
   2     425    325
   3     500    250
   4     465    200

我想要这个:

  ID X_2005 Y_2005 X_2006 Y_2006
  1    700    850        
  2    400    311    425   325
  3    475    250    500   250
  4                  465   200

我已经尝试过查看Stata的merge命令,但我不了解1:m,m:m等。它似乎也有标识符的数量在每个数据集中都是相同的,所以我很困惑。

1 个答案:

答案 0 :(得分:1)

正如@Nick Cox已经指出的那样,您的示例是1:1 merge的简单情况,使用变量ID来匹配两个横截面中的观察结果:

clear
input ID X_2005 Y_2005
1    700    850
2    400    311
3    475    250
end

save year2005, replace

clear
input ID X_2006 Y_2006
2     425    325
3     500    250
4     465    200
end

save year2006, replace
use year2005
merge 1:1 ID using year2006

Result                           # of obs.
-----------------------------------------
not matched                             2
    from master                         1  (_merge==1)
    from using                          1  (_merge==2)

matched                                 2  (_merge==3)
-----------------------------------------


list ID  X_2005 Y_2005 X_2006  Y_2006

   +----------------------------------------+
   | ID   X_2005   Y_2005   X_2006   Y_2006 |
   |----------------------------------------|
1. |  1      700      850        .        . |
2. |  2      400      311      425      325 |
3. |  3      475      250      500      250 |
4. |  4        .        .      465      200 |
   +----------------------------------------+
相关问题