【发布时间】:2020-07-27 18:42:46
【问题描述】:
我有一个数据框,每小时数据运行超过 5 年。我想计算几年内两个日期(例如,3 月 15 日至 4 月 15 日)之间的值的每小时平均值(即一天中每个小时的平均值,1:24),并将其与每小时去年的平均值。
以下是数据示例:
start = as.POSIXct(strptime("2011-01-01 01:00", "%Y-%m-%d %H:%M"))
end = as.POSIXct(strptime("2016-01-01 01:00", "%Y-%m-%d %H:%M"))
df = data.frame(DateTime = seq(from = start, to = end,by = "hours"))
df$value = runif(nrow(df))
Start_Period = "03-15"
End_Period = "04-15"
输出应如下所示:
Hour mean(2011-2014) mean(2015)
1 0.3 0.5
...
24 0.8 0.6
【问题讨论】:
-
如果开始是03-15,你需要2011-2014的平均值
-
2011-03-15 到 2011-04-15、2012-03-15 到 2012-04-15、2013-03-15 到 2013-04-15、2014-03 的平均值-15 至 2014 年 4 月 15 日。与 2015-03-15 至 2015-04-15 的平均值相比
-
03-15 的意思是年日而不是年月?
-
年月日:2011 年 3 月 15 日至 2011 年 4 月 15 日...
-
@llik 请检查以下解决方案是否有效