as.Date从POSIXct数据转换错误的日期

时间:2016-01-07 14:52:33

标签: r timezone posixct as.date

我有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月份。

0 个答案:

没有答案