填补缺失值
Filling in missing values
在 Stata 中编码:
在我跨越 5 年的不平衡每周面板数据集中,我寻求:
- 填写跳过的周数。为此,我正在使用 tsfill 命令。
- 但是,如果连续 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
在 Stata 中编码:
在我跨越 5 年的不平衡每周面板数据集中,我寻求:
- 填写跳过的周数。为此,我正在使用 tsfill 命令。
- 但是,如果连续 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