【发布时间】:2015-02-22 19:15:07
【问题描述】:
我有以下时间序列。这是一个子集,实时序列有 420,000 行。
问题:检测和测试数据是否规则间隔。
USAF WBAN YR--MODAHRMN DIR
1950 723890 93193 1972-08-31 15:00:00 280
1951 723890 93193 1972-08-31 18:00:00 090
1952 723890 93193 1972-08-31 21:00:00 150
1953 723890 93193 1972-09-01 00:00:00 240
1954 723890 93193 1972-09-01 01:00:00 300
1955 723890 93193 1972-09-01 02:00:00 290
我们需要检查的列是“YR--MODAHRMN”,即:
class(sdf$"YR--MODAHRMN")
[1] "POSIXlt" "POSIXt"
在 1952 年观察之前,时间序列每 3 小时拍摄一次,1953 年之后,每 1 小时拍摄一次。
预期结果:我希望 R 告诉我:“是的,数据是每小时数据”或“不,数据不是每小时。1953 年有一个中断”或类似的东西。我只是想确保我的其余数据是每小时数据而不是混合数据
如果时间序列是等距的,是否有任何方法可以在 R 中进行测试。我只需要每小时的观察,但当然,我不能一一检查420,000个观察吗?谢谢
【问题讨论】:
-
您可以检查
?diff尝试df1[c(diff(df1$SPD)==1, TRUE),]或一些时间变化,因为不清楚您需要从示例中子集哪些行 -
我不需要子集。我需要 R 告诉我“是的,其余的是每小时数据”或“不,并非所有内容都是每小时数据”,并且可能告诉我中断发生在哪里
-
请更新预期的结果,这样会更清楚
-
更新了问题以反映您所说的内容。必须有一个时间序列包来解决这个问题,但我找不到它
标签: r dataframe time-series