Я обнаружил довольно неожиданное поведение смазки. Следующий код R возвращает NA вместо '2010-10-17 08:00:00':
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 07:59:00»):
as.POSIXct("2010-10-17 07:58:01") + seconds(59);
as.POSIXct("2010-10-17 07:58:30") + seconds(30);
Это ошибка в lubridate или мне просто нужно более тщательно RTFM?! :)
ОБНОВЛЕНИЕ: Используемое программное обеспечение: Gnu R v 3.0.2, смазка 1.3.3
ОБНОВЛЕНИЕ 2. Использование дсекунд вместо секунд решает эту проблему.
Правильный результат рассчитывается по:
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"
(для проверки)? - person Rich Scriven   schedule 04.03.2014base
используетstrptime
.lubridate
нет. Попробуйтеunclass
в строке, а затем посмотрите, что произойдет. - person Rich Scriven   schedule 04.03.2014