我有一个季度观察的时间序列数据集,我想collapse
到一年一度的系列。为此,我需要先变换我的日期变量。
看起来像是
. list date in 1/5
+--------+
| date |
|--------|
1. | 1991q1 |
2. | 1991q2 |
3. | 1991q3 |
4. | 1991q4 |
5. | 1992q1 |
+--------+
因此,对于collapse
,我希望date
(或date2
)为1991年,1991年,1991年,1991年,1992年等。
完成后,我可以使用collapse
或tscollapse
将我的数据集转换为年度数据。
答案 0 :(得分:6)
// create some example data
. clear all
. set obs 5
obs was 0, now 5
. gen date = 123 + _n
. format date %tq
// create the yearly date
. gen date2 = yofd(dofq(date))
// admire the result
. list
+----------------+
| date date2 |
|----------------|
1. | 1991q1 1991 |
2. | 1991q2 1991 |
3. | 1991q3 1991 |
4. | 1991q4 1991 |
5. | 1992q1 1992 |
+----------------+
答案 1 :(得分:3)
另一种方法是记住年和季度只是整数。对文档进行一点咨询,并略微提高产量
. gen Y = 1960 + floor(Q/4)
作为转换规则,从Stata季度日期开始。格式化年份作为年度日期是允许的,但是多余的。