我發現了一個相當意外的lubridate行爲。 下述R代碼返回的NA,而不是「2010-10-17八點00分○○秒」:R:lubridate返回NA - 意外地
library(lubridate);
as.POSIXct("2010-10-17 07:59:01") + seconds(59);
as.POSIXct("2010-10-17 07:59:30") + seconds(30);
而下面的代碼段返回預期的值(「2010-10-17 7時59分00秒」 ):
as.POSIXct("2010-10-17 07:58:01") + seconds(59);
as.POSIXct("2010-10-17 07:58:30") + seconds(30);
這是一個在lubridate中的錯誤還是我只需要RTFM更徹底?! :)
UPDATE:使用軟件:牛羚R訴3.0.2,1.3.3 lubridate
更新2:使用dseconds而不是秒解決了這個問題。
正確結果的計算方法是:
as.POSIXct("2010-10-17 07:58:01") + dseconds(59);
as.POSIXct("2010-10-17 07:58:30") + dseconds(30);
看起來它可能是一個時區和/或夏令時間的問題。 –
你創建了什麼班'「2010-10-17 07:59:01」'與(作爲支票)? –
@Joshua:謝謝。但是,您可以將月份更改爲任何有效值,並且行爲保持不變... – TOBx2