如何使用增量 > 1 的时间变量完成填充面板数据集?

问题描述

假设我有一个两年一次的小组,仅在奇数年进行观察,例如

input id year var
       1 2011  23
       1 2013  12
       1 2015  11
       
       2 2011  44
       2 2013  42
       2 2015  13
end 

我想填补缺失的偶数年。此处所有 year 都缺少 id 2012 和 2014。

input id year var
       1 2011  23
       1 2012   .
       1 2013  12
       1 2014   .
       1 2015  11
       
       2 2011  44
       2 2012   .
       2 2013  42
       2 2014   .
       2 2015  13
end 

  • 我查看了 help expand,但我不确定这是我需要的,因为它不带 by 前缀。

  • 作为背景信息,我需要填写偶数年才能与另一个仅在偶数年进行的面板数据集合并 >

解决方法

您可以将面板 ID 设置为 id,将时间变量设置为 year 并使用 tsfill

clear
input id year var
       1 2011  23
       1 2013  12
       1 2015  11
       
       2 2011  44
       2 2013  42
       2 2015  13
end 


xtset id year
tsfill

如果面板中的最小和最大年份不是恒定的,您可以查看 ,full 选项。


. list

     +-----------------+
     | id   year   var |
     |-----------------|
  1. |  1   2011    23 |
  2. |  1   2012     . |
  3. |  1   2013    12 |
  4. |  1   2014     . |
  5. |  1   2015    11 |
     |-----------------|
  6. |  2   2011    44 |
  7. |  2   2012     . |
  8. |  2   2013    42 |
  9. |  2   2014     . |
 10. |  2   2015    13 |
     +-----------------+