我正在处理时间差距的面板数据。但不是同一时间差距。
Year
变量有1980年,1990年,2000年,2010年,2015年和2020年。
正如您所看到的,它与2010年相比有10年的时间差距,但在2010年至2020年之间为5年。
在Stata中设置面板数据结构后(使用xtset
命令),我想使用时间(滞后)运算符作为主变量兴趣和结果变量。但是,当我在变量名称前面使用L.
时,Stata会告诉我no observations
。
是不是自动占用了上一个时间段?
或者我是否手动创建滞后变量?
答案 0 :(得分:0)
我们需要了解但无法看到的是您使用的代码,特别是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
错误消息可能来自其他命令。