时间序列Stata日期每日转换为季度返回科学记数法

时间:2017-03-30 22:13:26

标签: date time-series stata

我有从2000年1月1日到30日2015年的每日频率的数据,此系列被格式化为日期(格式日期%d)。我能够使用日期(日期),月份(日期)和年份(日期)提取日,月和年。

我还需要生成一个表示其季度的变量,我使用gen季度= dofq(日期),然后格式化季度%tq。我没有返回格式2000q1,而是获得了一系列科学记数法(例如1.2e + 06)。有谁知道为什么以及如何解决这个问题?

提前致谢!

2 个答案:

答案 0 :(得分:0)

以下是一些示例代码,可能会指向您寻找的方向。

. clear

. set obs 1
number of observations (_N) was 0, now 1

. generate test = td(21nov2016)

. format %d test

. generate qtr = quarter(test)

. generate yq = qofd(test)

. format %tq yq

. list

     +--------------------------+
     |      test   qtr       yq |
     |--------------------------|
  1. | 21nov2016     4   2016q4 |
     +--------------------------+

答案 1 :(得分:0)

要建立到目前为止所做的工作:您应该意识到从day中提取变量monthyeardate的方式与您可以提取 quarter (例如,在您的案例中为gen quarter = quarter(date))。然后,使用变量quarteryear作为输入,您可以生成新变量gen year_quarter = yq(year,quarter)并使用%tq对其进行格式化。从本质上讲,这就是函数qofd()(取自William'示例)在后台执行的操作,而不生成其他变量quarteryear