在将日期时间向量转换为POSIXlt时,只有一个特定时间“25-Mar-1984-02:00”“被转换为POSIXlt但返回NA!所以,这一行在我的分析/图中被省略了。
is.na(as.POSIXlt("25-Mar-1984-02:00",format = "%d-%b-%Y-%H:%M"))
is.na(as.POSIXlt("25-Mar-1984-03:00",format = "%d-%b-%Y-%H:%M"))
is.na(as.POSIXlt("25-Mar-1984-01:00",format = "%d-%b-%Y-%H:%M"))
is.na(as.POSIXlt("24-Mar-1984-02:00",format = "%d-%b-%Y-%H:%M"))
is.na(as.POSIXlt("26-Mar-1984-02:00",format = "%d-%b-%Y-%H:%M"))
返回TRUE,FALSE,FALSE,FALSE,FALSE。
但
class(as.POSIXlt("25-Mar-1984-02:00",format = "%d-%b-%Y-%H:%M"))
返回 [1]“POSIXlt”“POSIXt”
这不奇怪吗?我怎么能让它成为“不是NA”?
答案 0 :(得分:3)
虽然您没有说出您的时区是什么,但这看起来像夏令时(DST)问题。在使用DST的时区中,将有一天小时从1:59:59.999“跳跃”到3:00:00.000。这意味着在这一天凌晨2点的任何时候都不存在。
我的猜测是1984-03-25 02:00:00是您当地时区发生DST的时间。