2015-07-14 8 views
1

У меня есть кадр данных попеременного плавания. Они варьируются от 6:35:00 до 43:00:00+. Когда я пытаюсь преобразовать времени даты, используя:Преобразование более 24 часов в Date_Time

as.POSIXlt(as.character(swims$times) 

R возвращает NAs в течение времени, большего, чем 23:59:59.

Я пробовал поиск в Интернете и т. Д., Но не нашел решение.

Каков наилучший способ справиться с этим?

Pierre здесь образец данных

UniqueID Время

1 187500001 21:45:00

2 191100001 22:35:00

3 192300001 26:50: 00

4 192300002 16:33:00

5 192300003 16:58:00

6 192600001 14:39:00

nrussell: что вы могли бы предложить вместо POSIXt?

+1

Есть ли у вас какие-либо примеры данных, чтобы лучше видеть, что вы работаете? –

+2

Почему вы хотите преобразовать их в объекты 'POSIXt'? IMO, что они представляют (продолжительность времени), принципиально отличается от того, что представляют собой классы POSIXlt или POSIXct (календарные даты). – nrussell

ответ

0

Пакет lubridate имеет тип продолжительности. Вы можете конвертировать свое время в продолжительность, которая затем может работать вместе с датами.

В этом случае вы можете конвертировать время в списке, как часы: минуты: секунды до нескольких секунд и принуждать с помощью:

library(lubridate) 
as.duration(as.double(substr(swim$time,1,2)) * 3600 + as.double(substr(swim$time,4,5)) * 60) 
+0

Спасибо, что это фантастика. –

Смежные вопросы