我是 stackoverflow 的新手,对 R 也相当陌生,但经过长时间的艰苦搜索,找不到以下问题的答案。
我有许多数据文件,它们是温度与时间序列的关系。我将 CSV 作为 ZOO 对象导入,然后转换为 XTS。正确的文件如下所示,其中包含整点和半点的读数:
>head(master1)
S_1
2010-03-03 00:00:00 2.8520
2010-03-03 00:30:00 2.6945
2010-03-03 01:00:00 2.5685
2010-03-03 01:30:00 2.3800
2010-03-03 02:00:00 2.2225
2010-03-03 02:30:00 2.0650
但有些时间值略有偏差 - 即 23:59:00 而不是 00:00:00,或者 00:29:00 而不是 00:30:00。
>head(master21)
S_21
2010-03-04 23:59:00 -0.593
2010-03-05 00:29:00 -0.908
2010-03-05 00:59:00 -1.034
2010-03-05 01:29:00 -1.223
2010-03-05 01:59:00 -1.349
2010-03-05 02:29:00 -1.538
我想纠正这些时间序列,因为微小的差异对我的分析并不重要,而且我最终想要合并文件,因此每个时间序列需要具有相同的时间。
我想要一个命令,可以只说“将时间序列向前移动 1 分钟,但不更改数据列(例如 S_21)。
我有过一些运气gsub()
更简单的更改,并考虑在将数据转换为 ZOO 或 XTS 之前使用复杂的正则表达式来更改数据。我读过关于lag()
and diff()
但它们似乎相对于时间序列移动了数据值;如果我错了,请纠正我。
任何解决此问题的帮助将不胜感激。
Try
index(master21) <- index(master21) + 60 # adds a minute
这将为时间索引添加一分钟。然后您可以使用merge()
当时间戳对齐时。
更一般地说,zoo
包也会对你有用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)