删除面板数据中的观察结果

时间:2016-11-29 00:20:03

标签: stata

对于50个不同的州,我有一个超过三年的面板数据集87 90 93。对于我感兴趣的变量exec,我想删除state中每个年份exec == 0的所有条目,并且只有在每年中它等于零时。

我一直在尝试编写某种for循环,但到目前为止还没有成功。

2 个答案:

答案 0 :(得分:2)

不需要循环。不需要额外的变量。

bysort state (exec) : drop if exec[1] == 0 & exec[_N] == 0 
当且仅当drop的所有值均为0时,

才会对state进行exec观察。

答案 1 :(得分:0)

这样的事情会起作用,假设exec不能为负:

webuse airacc
bysort airline (time): egen tot = total(inprog)
drop if tot==0

这将使航空公司的每个州的inprog时间总和为零,将缺失视为零。

egenegenmore可以帮助您避免陷入困境。