填补缺失值

Filling in missing values

在 Stata 中编码:

在我跨越 5 年的不平衡每周面板数据集中,我寻求:

  1. 填写跳过的周数。为此,我正在使用 tsfill 命令。
  2. 但是,如果连续 5 周以上缺少周数,我不想填写周数。也就是说,如果缺失的周数为 5 周或更短,我们将继续生成那些缺失的周数为零;但如果缺少周数超过 5 周,则忽略它。

第二步对我来说是一个挑战。有什么建议吗?

样本原件:

id week var1 var2 var3
1   1    0    3    0
1   3    1    0    0 
1   5    1    0    0
1   20   0    4    0

所需样本:

id week var1 var2 var3
1   1    0    3    0
1   2    0    0    0   (new row!)
1   3    1    0    0 
1   4    0    0    0   (new row!)
1   5    1    0    0
1   20   0    4    0

我想我找到了答案。

iri_key week    units
1   1   2
1   3   3
1   4   5
1   6   7
1   15  2
2   1   5
2   2   7
2   3   3
2   4   6
2   6   4


tsset iri_key week
tsfill, full
replace units=0 if units==.
gen check=0
replace check=1 if units==0
tsspell, cond(check==1)
drop if _seq>5