从Stata中的日期变量中提取四分之一

时间:2015-11-20 01:27:16

标签: date stata

我试图从以下示例中的dat日期变量中提取季度:

clear all

input str20 str
    "12Jan1998"
    "29Dec2000"
end

gen dat = date(str, "DMY")
format dat %tdDD-NN-CCYY

我正在尝试使用quarter()函数,例如:

gen quart = quarter(dofq(dat))

我得到的是明显错误的。你能建议一个解决这个问题的方法吗? 根据这个例子,我最想得到的是1和4。

2 个答案:

答案 0 :(得分:1)

help quarter文档告诉我们它接受“%td 日期”作为参数,因此您可以通过给它一个参数转换为“%tq”来迷惑它日期“。所以

gen quart = quarter(dat)

会做你想做的事。

答案 1 :(得分:1)

当您构建每日日期时,您所需要的只是quarter()。我在这里使用daily()而不是date()。它的功能相同,但名称更具体。

. clear all

. input str9 str

           str
  1. "12Jan1998"
  2. "29Dec2000"
  3. end

. gen date = daily(str, "DMY")

. format date %tdDD-NN-CCYY

. gen quarter = quarter(date) 

. list  

     +----------------------------------+
     |       str         date   quarter |
     |----------------------------------|
  1. | 12Jan1998   12-01-1998         1 |
  2. | 29Dec2000   29-12-2000         4 |
     +----------------------------------+