我试图从以下示例中的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。
答案 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 |
+----------------------------------+