该方法适用于面板数据中时间变量是间断的情况。最典型的例子就是CHNS面板数据(年份分别是1989、1991、1993、1997、2000、2004、2006、2009)。
假设截面变量为:id,时间变量为:year。
. tsset id year
panel variable: id (unbalanced)
time variable: year, 1989 to 2009, but with gaps
delta: 1 unit
上述结果是CHNS面板数据进行面板数据截面和时间项设定的结果。
为了获得关键变量的滞后项,直接采用gen newvar=l.varname的结果是所有滞后项均为缺失值。解决办法如下:
首先,
. bysort id (year): gen order = _n
. list order
+-------+
| order |
|-------|
1. | 1 |
2. | 2 |
3. | 3 |
4. | 4 |
5. | 1 |
|-------|
6. | 2 |
7. | 3 |
8. | 4 |
9. | 1 |
10. | 1 |
|-------|
11. | 2 |
12. | 3 |
13. | 1 |
14. | 2 |
15. | 3 |
|-------|
从中你可以看出,第一个被调查者只有4年的数据,这四年按先后顺序分别被赋值为1、2、3、4。第二调查者也是如此,第三和第四个调查者则只有1年和3年的数据。
然后,
. tsset id order
panel variable: id (unbalanced)
time variable: order, 1 to 8
delta: 1 unit
最后,
. gen newvar=l.varname
此时即可获得按order顺序排列的滞后项。