我有3848行POSIXct数据 - 停止4月份的自行车旅行时间。如您所见,所有数据都是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
为什么当数据和系统的时区匹配时,四个日期转换不正确?没有数据属于5月份。