我有 3848 行 POSIXct 数据——四月份自行车旅行的停止时间。如您所见,所有数据都是 POSIXct 格式,并且在 4 月份的范围内。
length(output2_stoptime)
[1] 3848
head(output2_stoptime)
[1] "2015-04-01 17:19:27 EST" "2015-04-02 07:26:06 EST" "2015-04-08 10:09:37 EST"
[4] "2015-04-12 20:08:00 EST" "2015-04-13 17:53:11 EST" "2015-04-14 07:17:34 EST"
class(output2_stoptime)
[1] "POSIXct" "POSIXt"
range(output2_stoptime)
[1] "2015-04-01 00:34:29 EST" "2015-04-30 20:49:22 EST"
Sys.timezone()
[1] "EST"
但是,当我尝试将其转换为每天的停止时间表时,我得到了 4 个转换为 5 月 1 日的日期。我认为这可能是由于我目前位于欧洲的不同系统时区而发生的,但即使将时区设置为 EST,问题仍然存在。例如:
by_day_output2 = as.data.frame(as.Date(output2_stoptime), tz = "EST")
colnames(by_day_output2)[1] = "SUM"
movements_Apr = as.data.frame(table(by_day_output2$SUM))
colnames(movements_Apr)[1] = "DATE"
tail(movements_Apr)
DATE Freq
26 2015-04-26 96
27 2015-04-27 125
28 2015-04-28 145
29 2015-04-29 151
30 2015-04-30 99
31 2015-05-01 4
数据时区与系统时区匹配时,为什么四个日期转换不正确?没有一个数据在五月之内。