我的面板数据不平衡,需要排除收入在前一年(t-1)发生变化的观察值(t),同时保留这些人的其他观察值。因此,如果收入在t年发生变化,则应该删除t年(对于该人)。
clear
input year id income
2003 513 1500
2003 517 1600
2003 518 1400
2004 513 1500
2004 517 1600
2004 518 1400
2005 517 1600
2005 513 1700
2005 518 1400
2006 513 1700
2006 517 1800
2006 518 1400
2007 513 1700
2007 517 1600
2007 518 1400
2008 513 1700
2008 517 1600
2008 518 1400
end
xtset id year
xtline income, overlay
为说明情况,我添加了一个xtline
图,该图遵循了这些年来人均收入。 ID = 518是完美的不变情况(保留所有意见)。 ID = 513跳了一次(该人员的掉落年份2005)。 ID = 517有点像峰值,也许是一次测量错误(下降2006和2007)。
我认为应该有某种形式的循环。初始化每个人的第一个值(因为无法比较),例如t0。然后比较t1-t0,如果更改则下降,否则比较t2-t1,等等。由于数据不平衡,可能缺少年份。感谢您的建议。
更新/目标::目的是为固定效果回归分析准备数据。报告了整个“去年”的另一个变量。但是,收入是在面试日期(时间点)报告的。我需要接近“去年收入”之类的东西,才能将其与该变量相关联。提出了该程序,并随后发布了一些出版物。我尝试复制并理解它。
解决方案:
bysort id (year) : drop if income != income[_n-1] & _n > 1
答案 0 :(得分:2)
FileTransferSession#addSource(StreamReader, String)
从方法上来说,该过程非常非常。除了bysort id (year) : gen byte flag = (income != income[_n-1]) if _n > 1
list, sepby(id)
输入数据外,无需为固定效果分析做准备;而且几乎没有任何借口来创建丢失的数据……更不用说这样做了,以将数据压缩到(其他)研究人员对统计和计量经济学了解的范围之内。我了解这是一项复制研究,但是无论您对复制进行什么操作,无论呈现在哪里,都需要指出原始作者并没有太多关于回归的线索。不要太努力去理解它。