为什么xts的端点()忽略间隔右边界的数据?

时间:2017-08-06 08:56:46

标签: r xts endpoints

我在t

生成的变量t <- xts(1:6, order.by=seq(as.POSIXct("2000-01-01 00:01:00", tz="GMT"), length.out = 6, by="1 min"))中有以下数据
                    [,1]
2000-01-01 00:01:00    1
2000-01-01 00:02:00    2
2000-01-01 00:03:00    3
2000-01-01 00:04:00    4
2000-01-01 00:05:00    5
2000-01-01 00:06:00    6

我希望endpoints(t, on="mins", k=3)给我c(0, 3, 6)对应2000-01-01 00:03:002000-01-01 00:06:00

相反,它返回c(0,2,5,6)。这种行为背后的逻辑是什么?

那么领先零的原因是什么?它是在文档中写的,但它为什么?

1 个答案:

答案 0 :(得分:1)

你的问题的前提是不正确的。 endpoints()不会忽略区间右边界的数据。您的示例数据仅包含左边的值;即,数据中的所有观察都发生在每分钟的开始。如果它们确实是有权限的,那就意味着“2000-01-01 00:00:00.000”是1999年最后一次观察到的价值。

第一个元素只需要为零,因为endpoints()的输出在其他函数中的使用方式。假设,代码可能会被重构以消除第一个元素为零的要求。我假设说,因为该重构可能会破坏其他代码,这使我不愿意这样做。