代码之家  ›  专栏  ›  技术社区  ›  Eric Fail

将季度解析为日期,使用“qr()”表示季度中的最后一天

  •  0
  • Eric Fail  · 技术社区  · 4 年前

    我的任务有点类似于 this question ,但我正在使用 quarters 我需要翻译成日期,但我不想这样得到季度的第一天,

    # library(lubridate)
    quaters <- c("2018Q4", "2019Q1", "2019Q2", "2019Q3", "2019Q4", "2020Q1")
     
    yq(quaters)
    # [1] "2018-10-01" "2019-01-01" "2019-04-01" "2019-07-01" "2019-10-01"
    # [6] "2020-01-01"
    

    yq(quaters, last) "!! NOT WOKRING CODE
    # [1] "2018-12-31" "2019-03-31" "2019-06-30" "2019-09-30" "2019-12-31"
    # [6] "2020-03-31"
    
    1 回复  |  直到 4 年前
        1
  •  3
  •   Ronak Shah    4 年前

    library(lubridate)
    quaters <- c("2018Q4", "2019Q1", "2019Q2", "2019Q3", "2019Q4", "2020Q1")
    
    yq(quaters) %m+% months(3) - 1
    #[1] "2018-12-31" "2019-03-31" "2019-06-30" "2019-09-30" "2019-12-31" "2020-03-31"
    

    另一个类似的选择是使用 ceiling_date 具有 unit "quarter" 得到下个季度的日期,然后从中减去1天。

    ceiling_date(yq(quaters), 'quarter') - 1