我一直在努力寻找能够回答这个问题的论坛, 但我担心我没有找到如何解决这个问题。
我有这种格式的数据:
2013-12-17 22:45:00 18.521
2013-12-17 23:00:00 17.760
2013-12-17 23:15:00 18.140
2013-12-17 23:30:00 18.806
2013-12-17 23:45:00 18.045
2013-12-18 02:00:00 16.427
2013-12-18 02:15:00 16.237
2013-12-18 04:15:00 11.236
2013-12-18 04:30:00 11.041
2013-12-18 04:45:00 11.041
2013-12-18 05:00:00 10.846
2013-12-18 05:15:00 10.455
2013-12-18 05:30:00 10.553
2013-12-18 05:45:00 10.063
2013-12-18 06:00:00 10.259
2013-12-18 06:15:00 10.161
2013-12-18 06:30:00 10.063
2013-12-18 06:45:00 9.866
2013-12-18 07:00:00 9.866
2013-12-18 07:15:00 9.965
2013-12-18 07:30:00 10.651
2013-12-18 07:45:00 10.944
2013-12-18 08:00:00 11.431
周期为每天15分钟,持续数月。 并且它已经存储在具有类的var中:xts,zoo
当我使用时:
period.apply(
xts.ts,
endpoints(xts.ts, on = "days", 1),
function(x) apply(x, 2, min)
)
我得到了这样的东西:
[,1]
2013-12-11 23:45:00 10.455
2013-12-12 23:45:00 8.879
2013-12-13 23:45:00 12.980
2013-12-14 23:45:00 12.883
2013-12-15 23:45:00 12.497
2013-12-16 23:45:00 10.944
2013-12-17 23:45:00 11.041
2013-12-18 08:00:00 9.866
但是,我想知道最小值(或值)的确切时间。每一天, 它总是出现在23:45:00(除了最后一种情况:08:00:00), 这是不正确的,正如您在原始数据中看到的那样:
2013-12-18 06:45:00 9.866
2013-12-18 07:00:00 9.866
此外,我尝试使用:
separated_by_days <- split(xts.ts, f = "days", drop=FALSE, k = 1)
我得到一个列表,其中包含以天为单位的信息,但如果我使用
period.apply(
separated_by_days[[1]],
INDEX=endpoints(days[[1]], on="days"),
FUN=min
)
结果是一样的。 :(
如果你能给我一些解决这个问题的线索,我将不胜感激。谢谢!