2016-06-23 17 views
-4

Say У меня есть столбец в моем кадре данных, содержащий только объекты строк:R: Включение строки часов: мин: сек к соответствующему объекту времени

"00:20:10" 
"02:12:10" 

т.д.

Хотим просто преобразуйте эти строки в соответствующий объект типа времени (в библиотеке chron), чтобы я мог делать такие вещи, как вычисление среднего времени и т. д. Как я могу это сделать?

Моя попытка просто сделать раз (столбец данных), но я получаю десятичное значение.

+2

Показать ваши текущие результаты и получить дополнительную информацию о вашем текущем коде. –

ответ

0
as.POSIXct('00:20:10', format='%H:%M:%S') 

[1] "2016-06-23 00:20:10 EDT"

as.POSIXct('2:12:10', format='%H:%M:%S') 

[1] "2016-06-23 2:12:10 EDT"

Вы можете также указать дату, по

as.POSIXct('06/23/2016 00:20:10', format='%m/%d/%Y %H:%M:%S') 

[1] "2016-06-23 00:20:10 EDT"

1

Jus t для упрощения, я возьму data.frame только с одним столбцом. Обратите внимание, что, хотя он отображается как правильный формат времени, базовые данные по-прежнему являются десятичным значением.

library("chron") 

mydf <- data.frame(time = c("00:20:10", "02:12:10"), stringsAsFactors = FALSE) 
mydf[] <- lapply(mydf,times) 

mydf 
     time 
1 00:20:10 
2 02:12:10 

str(mydf) 

'data.frame': 2 obs. of 1 variable: 
    $ time:Class 'times' atomic [1:2] 0.014 0.0918 
.. ..- attr(*, "format")= chr "h:m:s"