【问题标题】:extract quarter from date variable in Stata从Stata中的日期变量中提取季度
【发布时间】:2015-11-20 01:27:15
【问题描述】:

我正在尝试从日期变量中提取季度,在以下示例中类似于 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。

【问题讨论】:

    标签: date stata


    【解决方案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 |
         +----------------------------------+
    

    【讨论】:

      【解决方案2】:

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

      gen quart = quarter(dat)
      

      会做你想做的。

      【讨论】:

      • 哦,好吧,至少答案是一样的。
      • 我已经发布了太多次,然后刷新了我的浏览器,以便在我迟到和不完整的思考之前看到你的明确想法。至少这次我有较早的时间戳,但仍然缺乏确定性。
      猜你喜欢
      • 2017-01-05
      • 2014-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-02
      • 1970-01-01
      • 2013-08-01
      相关资源
      最近更新 更多