【问题标题】:Stata Merging dataStata 合并数据
【发布时间】:2018-04-06 14:32:33
【问题描述】:

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

我想知道如何在 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 等。似乎每个数据集中的标识符数量必须相同,所以我米糊涂。

【问题讨论】:

  • 您的命令以merge 1:1 ID 开头,因为最多每个不同的 ID 对应于两个数据集中的单个观察。 merge 的工作是担心仅存在于一个数据集中的 ID。令人失望的是您甚至没有尝试实现这个最简单的案例。
  • 如果您觉得我的回答有帮助,请考虑使用复选标记接受它。

标签: merge stata merging-data


【解决方案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 |
   +----------------------------------------+

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-02
    • 1970-01-01
    • 1970-01-01
    • 2011-09-03
    • 1970-01-01
    相关资源
    最近更新 更多