【问题标题】:Convert date to year-quarter format将日期转换为年季格式
【发布时间】:2012-10-12 18:20:49
【问题描述】:

我有一堆格式为 yyyy-mm-dd 的日期,我想将它们转换为 yyyy-q 格式,其中 qq 是一年中的一个季度(因此月份 1、2、3 映射到q=1 和 4、5、6 映射到 q=2 等)。我使用以下函数来完成此操作:

get_month <- function(d) { return(as.numeric(format(d, "%m")))}
get_qtr <- function(d) {
f <- function(m) {
    if (m %in% c(1,2,3)) { return(1) }
    else if (m %in% c(4,5,6)) { return(2) }
    else if (m %in% c(7,8,9)) { return(3) }
    else if (m %in% c(10,11,12)) { return(4) }
}
m <- get_month(d)
r <- sapply(m, f)
return(r)
}

但是,这非常慢。有更快的方法吗?

【问题讨论】:

    标签: r date date-format


    【解决方案1】:

    您可以在 zoo 包中使用yearqtr。

    > as.yearqtr(Sys.Date())
    [1] "2012 Q4"
    

    【讨论】:

    猜你喜欢
    • 2015-09-13
    • 2021-07-25
    • 1970-01-01
    • 2023-01-22
    • 2015-04-29
    • 2014-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多