在大数据表中工作时,我在日期时间列中找到了NA值,它们不应该是......所有这些值都应该是“2014-03-30 02:00:00”。
我做了一些试验:
> as.POSIXct("2014-03-03 02:00:00")
[1] "2014-03-03 02:00:00 CET"
> as.POSIXct("30/03/2014 2:00", format = "%d/%m/%Y %H:%M")
[1] NA
> as.POSIXct("30/03/2014 0:00", format = "%d/%m/%Y %H:%M")
[1] "2014-03-30 CET"
> as.POSIXct("30/03/2014 4:00", format = "%d/%m/%Y %H:%M")
[1] "2014-03-30 04:00:00 CEST"
知道为什么只有
as.POSIXct("30/03/2014 2:00", format = "%d/%m/%Y %H:%M")
产生NA?!!
答案 0 :(得分:3)
正如我在评论中指出的,这里的解决方案是使用
as.POSIXct("30/03/2014 2:00", format = "%d/%m/%Y %H:%M", tz = "GMT")
其中GMT
可以替换为您所在的时区。
正如您已经指出的那样,原因是从冬季到夏季的变化
中间的任何时间
as.POSIXct("30/03/2014 2:00", format = "%d/%m/%Y %H:%M")
和
as.POSIXct("30/03/2014 2:59", format = "%d/%m/%Y %H:%M")
在您所在的国家/地区(可能在欧洲), 已经不存在