代码之家  ›  专栏  ›  技术社区  ›  TheGoat

在R[closed]中的两个日期时间之间创建间隔日期时间

  •  -3
  • TheGoat  · 技术社区  · 7 年前

    我希望创建一个向量,以15分钟为间隔,记录2017年7月15日13:45至2017年7月29日13:15之间的所有日期和时间。总共应该有1343个值,包括上面的两个日期时间列表。

    我如何在R中执行此操作?

    2 回复  |  直到 7 年前
        1
  •  1
  •   CPak    7 年前

    您的数据

    library(lubridate)
    x <- parse_date_time(c("15/07/2017 13:45","29/07/2017 13:15"), "%d%m%y HM")
    # "2017-07-15 13:45:00 UTC" "2017-07-29 13:15:00 UTC"
    

    解决方案

    seq(x[1], x[2], "15 min")
    # "2017-07-15 13:45:00 UTC" "2017-07-15 14:00:00 UTC" "2017-07-15 14:15:00 UTC"
    
        2
  •  0
  •   TTNK    7 年前

    library(lubridate)
    
    startDate <- dmy_hm("15/07/2017 13:45")
    endDate <- dmy_hm("29/07/2017 13:15")
    
    myVector <- seq(from = startDate, to = endDate, by = 900) # 900 seconds = 15 minutes
    
    > length(myVector)
    [1] 1343
    
    > head(myVector, 20)
     [1] "2017-07-15 13:45:00 UTC" "2017-07-15 14:00:00 UTC" "2017-07-15 14:15:00 UTC" "2017-07-15 14:30:00 UTC" "2017-07-15 14:45:00 UTC"
     [6] "2017-07-15 15:00:00 UTC" "2017-07-15 15:15:00 UTC" "2017-07-15 15:30:00 UTC" "2017-07-15 15:45:00 UTC" "2017-07-15 16:00:00 UTC"
    [11] "2017-07-15 16:15:00 UTC" "2017-07-15 16:30:00 UTC" "2017-07-15 16:45:00 UTC" "2017-07-15 17:00:00 UTC" "2017-07-15 17:15:00 UTC"
    [16] "2017-07-15 17:30:00 UTC" "2017-07-15 17:45:00 UTC" "2017-07-15 18:00:00 UTC" "2017-07-15 18:15:00 UTC" "2017-07-15 18:30:00 UTC"
    > tail(myVector, 20)
     [1] "2017-07-29 08:30:00 UTC" "2017-07-29 08:45:00 UTC" "2017-07-29 09:00:00 UTC" "2017-07-29 09:15:00 UTC" "2017-07-29 09:30:00 UTC"
     [6] "2017-07-29 09:45:00 UTC" "2017-07-29 10:00:00 UTC" "2017-07-29 10:15:00 UTC" "2017-07-29 10:30:00 UTC" "2017-07-29 10:45:00 UTC"
    [11] "2017-07-29 11:00:00 UTC" "2017-07-29 11:15:00 UTC" "2017-07-29 11:30:00 UTC" "2017-07-29 11:45:00 UTC" "2017-07-29 12:00:00 UTC"
    [16] "2017-07-29 12:15:00 UTC" "2017-07-29 12:30:00 UTC" "2017-07-29 12:45:00 UTC" "2017-07-29 13:00:00 UTC" "2017-07-29 13:15:00 UTC