如何填写Stata中重复项的值?

时间:2016-08-12 02:34:33

标签: stata data-manipulation

原始数据如下所示(Date采用dd / mm / yyyy格式):

ID    Date          Var  
01    21/01/2016    1  
01    22/01/2016      
02    13/05/2016      
02    14/05/2016    2  
03    08/06/2016    3  
03    08/06/2016    4  
04    09/07/2016    5  
04    09/07/2016    
05    10/08/2016    
05    10/08/2016    6

从本质上讲,每个ID对于提交日期Var感兴趣的变量Date有三种情景:

1 / Var出现在较早的Date上,但在后一个(ID=01)上丢失了 2 / Var在早期Date上丢失,但在后一个(ID=02)上出现 3 / Var出现在Date上,其值可能相同或不同(ID=03)

现在我如何修改Var如下?

1 /使用之前Var的{​​{1}}的值来填补后一个。{ 2 /使用后期Date的{​​{1}}的值来填充之前的Var 3 /使用后来Date的{​​{1}}的值来替换之前的Var

因此修改后的数据应如下所示:

Date

1 个答案:

答案 0 :(得分:1)

您的示例由

解决
bysort ID (Var): replace Var = Var[1] if missing(Var) 
bysort ID (Date): replace Var = Var[_N] 

使用附近的已知值更换系列中的缺失值称为插值。参见例如here通知更一般地支持​​第一种方法的插值命令(以及其他方法)。