【问题标题】:Time between Vector dates in RR中向量日期之间的时间
【发布时间】:2015-05-05 05:09:02
【问题描述】:

给定一个日期向量 V.dates,编写一个函数来确定每个元素从现在开始的时间(以天为单位)。接下来按时间倒序从今天开始确定由 91 天段定义的季度。将“0”季度定义为现在和(现在 - 91)之间的时间,将“1”季度定义为(现在 - 91)到(现在 - 182)等。最后,返回一个数据框,其中包含原始日期、从今天开始的持续时间以及该日期所属的季度。请记住,日期可能在今天之前或之后。例如,假设现在是 '10/27/2010' 并且输入日期是 '6/20/2009',函数应该返回输入日期是从现在开始的 494 天并且属于第 5 季度。

我目前使用以下方法计算出两个向量之间的时间:

V.dates <- as.Date(c("27-10-2010","20-6-2009"),format="%d-%m-%Y")
difftime(V.dates[1],V.dates[2],units="days")

我不知道如何确定季度。

【问题讨论】:

    标签: r date vector


    【解决方案1】:

    您可以使用gl 获取季度

     v2 <- as.vector(difftime(V.dates[1],V.dates[2],units="days"))
     max(as.numeric(gl(v2, 91, v2))-1)
     #[1] 5
    

    或者

     v2 %/% 91
     #[1] 5
    

    【讨论】:

    • floor(as.numeric(v2/91)) 也许?
    • @thelatemail 是的,谢谢,这也是一个可能的选择(更好)
    猜你喜欢
    • 1970-01-01
    • 2021-09-24
    • 2018-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 2016-09-17
    • 1970-01-01
    相关资源
    最近更新 更多