seq()跳过序列中的值

时间:2017-01-12 19:16:47

标签: r

为了在R中设置每小时的时间序列,我遇到了以下情况。

time_index <- seq(from = as.POSIXct("2015-01-01 00:00"), 
                  to = as.POSIXct("2015-03-31 23:00"), by = "hour")
len(time_index)
[1] 2159

2015年1月1日至3月底,有31 + 28 + 31 = 90天。所以我希望seq返回一个长度为24 * 90 = 2160的序列,但它似乎是一个短数字。经过一番调查后我注意到了

time_index[1+66*24+1]
[1] "2015-03-08 01:00:00 EST"
time_index[1+66*24+2]
[1] "2015-03-08 03:00:00 EDT"

3月8日错过了一个小时。 seq()在这里发生了什么?我犯了一个我错过的简单错误吗?

1 个答案:

答案 0 :(得分:6)

差异是由daylight savings time.

引起的

2015年3月8日失去一小时:https://www.timeanddate.com/time/change/usa/new-york?year=2015