r - R - 从日期中减去小时数
问题描述
我正在使用 R 的 Openair 包。第一步是导入 CSV。一切正常,除了我需要将 CSV 中的时间/日期向后移动 6 小时。换句话说,例如将一天的午夜更改为前一天的下午 6 点等。这样可以计算出每天的平均值,时间是早上 6 点到早上 6 点,而不是 0-0。
到目前为止,我有:
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 有一个“日期”列,它将日期存储为 dmY 和一个字段小时,它是小时的数值。
后来我选择了一个特定的年份,但这需要在减法之后完成
dataSet <- selectByDate(x, year = 2018)
解决方案
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
推荐阅读
- python - 使用正则表达式从数据框中删除/排除列 - Python
- angular - 类型“IGridInstanceOf”上不存在属性“选择”
' 执行 gridApi.grid.selection.selectAll 时 - android - 如何通过类名访问具有 R.id 的父元素中的元素
- abap - 在没有 NavBar 工作中心的情况下运行 Tr.launcher
- c# - 基于用户角色的不同主页
- java - 如何在 hadoop 集群中使用 tensorflow 模型运行风暴拓扑
- javascript - 使用 docker 时 Nodemon 不会重新加载
- google-chrome - 在 Chrome 中模拟会话超时/过期
- php - 如何获得 FPDF 总页数的一半?
- metatrader4 - MetaTrader 中的 ADX 计算