【问题标题】:R - subtracting hours from dateR - 从日期中减去小时数
【发布时间】:2019-01-22 18:27:45
【问题描述】:

我正在使用 R 的 Openair 包。第一步是导入 CSV。一切正常,除了我需要将该 CSV 中的时间/日期向后移动 6 小时。换句话说,例如将一天的午夜更改为前一天的下午 6 点等。这样可以计算每日平均值,而不是 0-0 上午 6 点到上午 6 点。

到目前为止我有:

library(openair)
library(tidyverse)

x <- import(file = "data.csv", file.type = "csv", sep = ";", header.at = 1, data.at = 2, date = "date", date.format = "%d.%m.%Y", time = "hour", time.format = "%H",quote = "\"")

CSV 有一个“日期”列,它将日期存储为 d.m.Y 和一个字段小时,它是小时的数值。

稍后我选择了一个特定的年份,但这需要在减法之后已经完成

dataSet <- selectByDate(x, year = 2018)

【问题讨论】:

    标签: r time tidyverse


    【解决方案1】:
    library(lubridate)
    
    df <- data.frame(datetime = ymd_hms(c("2018-01-01 05:00:00","2018-01-01 06:00:00", 
    "2018-01-01 07:00:00", "2018-01-01 08:00:00")))
    
    print(df)
    #datetime
    # 2018-01-01 05:00:00
    # 2018-01-01 06:00:00
    # 2018-01-01 07:00:00
    # 2018-01-01 08:00:00
    
    
    df$datetime_adjusted <- df$datetime - hours(6)
    
    print(df)
    #datetime   datetime_adjusted
    # 2018-01-01 05:00:00 2017-12-31 23:00:00
    # 2018-01-01 06:00:00 2018-01-01 00:00:00
    # 2018-01-01 07:00:00 2018-01-01 01:00:00
    # 2018-01-01 08:00:00 2018-01-01 02:00:00
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-13
      • 1970-01-01
      • 2020-12-10
      • 1970-01-01
      • 2012-08-03
      • 2011-08-26
      相关资源
      最近更新 更多