由于时区/ DST变化,将时间序列中的间隙填满一小时

时间:2018-05-31 12:55:36

标签: r time-series dst zoo

我有一个汇总数据的时间序列(不同的间隔,例如1天,12小时和30分钟)。数据如下:

           open    close     high      low
2013-01-21 16.62600 17.13600 17.13600 16.62600
2013-01-22 17.21240 17.74800 17.85000 17.18699
2013-01-23 17.40467 17.93721 17.93721 17.21760
2013-01-24 18.00399 17.23800 19.53516 16.52400
2013-01-25 16.99912 17.74800 18.14193 15.88218

对于某些时间间隔,数据缺失,我想填补这些空白。为了做到这一点,我根据从开始到结束的顺序将数据与动物园对象合并。

data.full = merge(data,zoo(,seq(start(data),end(data),by=interval)), all=TRUE)

不幸的是,序列似乎是基于24小时而不是天。因此,一旦夏令时开始,创建的序列将关闭一小时,并且合并将不再起作用(并且时区显然会从CET更改为CEST)。

动物园序列如下:

2013-03-28 00:00:00 CET
2013-03-29 00:00:00 CET
2013-03-30 00:00:00 CET
2013-03-31 00:00:00 CET
2013-04-01 01:00:00 CEST
2013-04-02 01:00:00 CEST
2013-04-03 01:00:00 CEST
2013-04-04 01:00:00 CEST
2013-04-05 01:00:00 CEST

摆脱这个问题的最简单(也是最灵活的方法)是什么?我可以手动更改zoo对象中的格式,但我想将代码用于不同的时间间隔。

0 个答案:

没有答案