Time 正在扩展当前范围之外的日期
我正在尝试扩展一个数据集,以包含当前范围之外的日期 我掌握的数据范围从1992年第一季度到2017年第一季度。每个观察都存在于较大窗口的一部分中,例如从1993年第2季度到1997年第1季度 我需要为每个范围创建季度观察,以填补缺失的时间。我已经将现有数据扩展到季度Time 正在扩展当前范围之外的日期,time,stata,Time,Stata,我正在尝试扩展一个数据集,以包含当前范围之外的日期 我掌握的数据范围从1992年第一季度到2017年第一季度。每个观察都存在于较大窗口的一部分中,例如从1993年第2季度到1997年第1季度 我需要为每个范围创建季度观察,以填补缺失的时间。我已经将现有数据扩展到季度 我不知道该怎么做的就是把那些丢失的四分之一加进去。例如,country1的日期可能为1993q2到1997q1。我需要加上缺少的日期,从1992年第一季度到1993年第一季度,从1997年第二季度到2017年第一季度 这个沙箱数据集
我不知道该怎么做的就是把那些丢失的四分之一加进去。例如,country1的日期可能为1993q2到1997q1。我需要加上缺少的日期,从1992年第一季度到1993年第一季度,从1997年第二季度到2017年第一季度 这个沙箱数据集显示了一个非常简单的类似于我想你的问题
clear
set obs 10
gen id = cond(_n < 7, 1, 2)
gen qdate = yq(1992, 1) in 1
replace qdate = yq(1992, 3) in 7
bysort id (qdate) : replace qdate = qdate[_n-1] + 1 if missing(qdate)
format qdate %tq
list, sepby(id)
+-------------+
| id qdate |
|-------------|
1. | 1 1992q1 |
2. | 1 1992q2 |
3. | 1 1992q3 |
4. | 1 1992q4 |
5. | 1 1993q1 |
6. | 1 1993q2 |
|-------------|
7. | 2 1992q3 |
8. | 2 1992q4 |
9. | 2 1993q1 |
10. | 2 1993q2 |
+-------------+
fillin id qdate
list, sepby(id)
+-----------------------+
| id qdate _fillin |
|-----------------------|
1. | 1 1992q1 0 |
2. | 1 1992q2 0 |
3. | 1 1992q3 0 |
4. | 1 1992q4 0 |
5. | 1 1993q1 0 |
6. | 1 1993q2 0 |
|-----------------------|
7. | 2 1992q1 1 |
8. | 2 1992q2 1 |
9. | 2 1992q3 0 |
10. | 2 1992q4 0 |
11. | 2 1993q1 0 |
12. | 2 1993q2 0 |
+-----------------------+
所以。fillin是确保标识符和时间的所有交叉组合都存在的一种简单方法。然而,有什么好处呢?尽管本例中未显示,但其他变量的值仅作为缺少的值而存在。在某些情况下,继续插值是合理的,但通常情况下,您只能使用不完整的面板
如何找到这样的解决方案?一个好的策略是浏览[D]手册,看看有哪些基本的数据管理命令