【问题标题】:Panel Data with time gap, How to create lag variable具有时间间隔的面板数据,如何创建滞后变量
【发布时间】:2018-03-23 02:44:37
【问题描述】:

我正在处理有时间间隔的面板数据。但时间间隔不一样。 Year 变量有 1980、1990、2000、2010、2015 和 2020。

如您所见,到 2010 年有 10 年的时间差,但从 2010 年到 2020 年有 5 年。

在 Stata 中设置面板数据结构后(使用xtset 命令),我想对我的主要变量兴趣和结果变量使用时间(滞后)运算符。但是,当我在变量名前面使用L. 时,Stata 告诉我no observations

不是自动取上一个时间段吗?

还是我手动创建滞后变量?

【问题讨论】:

  • 你没有显示任何代码,这在编程论坛中令人费解。 help xtset 确实记录了delta(),这是您在这里取得进展的主要方式。缺乏研究和清晰度导致我投反对票。

标签: panel stata lag


【解决方案1】:

我们需要知道但看不到的正是您使用的代码,特别是xtset。但可以猜测。在这里我制作了一个面板;具有更多面板的结构不会显示不同的问题。

clear 
input Y Year 
1  1980
2  1990 
3  2000 
4  2010  
5  2015 
6  2020 
end 

gen ID = 42 

如果您只指定面板和年份变量,Stata 预计单位间距,因此年度数据的滞后 1 表示“上一年”。请求滞后 1 变量是合法的,但所有值都丢失了。

xtset ID Year 
gen lag1 = L1.Y 

如果您指定delta(5),则除两个观测值外,所有观测值都缺少滞后 1 变量。

xtset ID Year, delta(5) 
gen lag5 = L1.Y 

如果您尝试delta(10),那将不起作用(除非您drop 2015)。

xtset ID Year, delta(10) 

你也可以这样做:

bysort ID (Year) : gen prev = Y[_n-1] 

把你的结果放在一起

list , sep(0) 

     +------------------------------------+
     | Y   Year   ID   lag1   lag5   prev |
     |------------------------------------|
  1. | 1   1980   42      .      .      . |
  2. | 2   1990   42      .      .      1 |
  3. | 3   2000   42      .      .      2 |
  4. | 4   2010   42      .      .      3 |
  5. | 5   2015   42      .      4      4 |
  6. | 6   2020   42      .      5      5 |
     +------------------------------------+

no observations 错误消息可能来自其他命令。

【讨论】:

    猜你喜欢
    • 2023-01-19
    • 1970-01-01
    • 1970-01-01
    • 2012-02-13
    • 2017-11-12
    • 2023-03-05
    • 2019-07-20
    • 2015-11-01
    • 1970-01-01
    相关资源
    最近更新 更多