0

我有 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 

数据时区与系统时区匹配时,为什么四个日期转换不正确?没有一个数据在五月之内。

4

0 回答 0