楼主: aizhihui2009
11316 7

[其他] 面板数据中,时间存在间断时产生滞后项的方法。 [推广有奖]

  • 0关注
  • 7粉丝

已卖:585份资源

博士生

95%

还不是VIP/贵宾

-

威望
0
论坛币
19258 个
通用积分
3.0295
学术水平
26 点
热心指数
30 点
信用等级
17 点
经验
8072 点
帖子
383
精华
0
在线时间
375 小时
注册时间
2009-9-6
最后登录
2021-9-26

楼主
aizhihui2009 发表于 2011-8-2 05:02:19 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

该方法适用于面板数据中时间变量是间断的情况。最典型的例子就是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年的数据,这四年按先后顺序分别被赋值为1234。第二调查者也是如此,第三和第四个调查者则只有1年和3年的数据。

然后,

. tsset id order

       panel variable:  id (unbalanced)

        time variable:  order, 1 to 8

                delta:  1 unit

最后,

. gen newvar=l.varname

此时即可获得按order顺序排列的滞后项。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:面板数据 滞后项 unbalanced unbalance Panel VAR

沙发
remlus 发表于 2011-8-25 22:14:13
谢谢,很管用

藤椅
树叶Leslie 发表于 2017-11-4 21:49:36
解决了大问题!非常感谢!

板凳
黃河泉 在职认证  发表于 2017-11-5 10:48:36
楼主的作法是有问题的:
  1. clear
  2. input id year
  3. 1 1989
  4. 1 1991
  5. 1 1995
  6. 1 2009
  7. 2 1989
  8. 2 1993
  9. 2 2000
  10. 3 1997
  11. 3 2004
  12. 3 2009
  13. end

  14. gen  a = _n
  15. bys id (year): gen order = _n
  16. tsset id order
  17. gen La = L.a
复制代码

报纸
黃河泉 在职认证  发表于 2017-11-5 10:53:39
虽然根据 order 是 OK,但是真实的时间是 year,很可能不同 id 同一年(底下的 1995) 取的落后期是不一样的!
  1. clear
  2. input id year
  3. 1 1989
  4. 1 1991
  5. 1 1995
  6. 1 2009
  7. 2 1989
  8. 2 1995
  9. 2 2000
  10. 3 1989
  11. 3 1993
  12. 3 1995
  13. end

  14. gen  a = _n
  15. bys id (year): gen order = _n
  16. tsset id order
  17. gen La = L.a
复制代码

地板
cprcool 发表于 2018-8-20 20:41:33
黃河泉 发表于 2017-11-5 10:53
虽然根据 order 是 OK,但是真实的时间是 year,很可能不同 id 同一年(底下的 1995) 取的落后期是不一样的 ...
请问怎样做能避免您说的这种情况,并进行更好的处理?我的面板数据也是时间不连续,而且时间短,个体多……

7
黃河泉 在职认证  发表于 2018-8-21 07:41:35
cprcool 发表于 2018-8-20 20:41
请问怎样做能避免您说的这种情况,并进行更好的处理?我的面板数据也是时间不连续,而且时间短,个体多… ...
就当作横断面资料处理吧!

8
fht2910783 发表于 2020-11-9 17:22:51
太感谢了!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-29 02:32