2015-10-21 2 views
0

Как сводная функция R суммирует значения времени, представленные как HH: MM: SS строки?R сводная функция и время

Например, при импорте CSV следующий файл:

name,time 
name-a,1:00:00 
name-b,1:15:00 
name-c,1:30:00 
name-d,1:45:00 
name-e,2:00:00 

использование по умолчанию функции суммарной «только» перечислены HH: MM: SS раза в разных строках.

> summary(times) 
     name  time 
    name-a:1 1:00:00:1 
    name-b:1 1:15:00:1 
    name-c:1 1:30:00:1 
    name-d:1 1:45:00:1 
    name-e:1 2:00:00:1 

Я хотел бы функцию сводной понять раз как HH: MM: значения времени SS и отображать резюме, подобные следующим:

> summary(times) 
time 
Min. :1:00:00 
1st Qu.:1:15:00 
Median :1:30:00 
Mean :1:30:00 
3rd Qu.:1:45:00 
Max. :2:00:00 

ответ

3

Try в chron пакете и его times функции ,

times$time<-times(times$time) 
summary(times) 
# name  time   
#name-a:1 Min. :01:00:00 
#name-b:1 1st Qu.:01:15:00 
#name-c:1 Median :01:30:00 
#name-d:1 Mean :01:30:00 
#name-e:1 3rd Qu.:01:45:00 
#   Max. :02:00:00 
2

Поскольку столбец «время» хранится как строка, R не может вычислять никакую итоговую статистику на нем. Просто преобразуйте временную метку в любой формат времени.

library(lubridate) 

times <- data.frame(name = c("name-a", 
          "name-b", 
          "name-c", 
          "name-d", 
          "name-e"), 
        time = c("1:00:00", 
          "1:15:00", 
          "1:30:00", 
          "1:45:00", 
          "2:00:00")) 

times$time <- hms(times$time) 
summary(times) 

Выходы:

> summary(times) 
    name  time   
name-a:1 Min. :1H 0M 0S 
name-b:1 1st Qu.:1H 15M 0S 
name-c:1 Median :1H 30M 0S 
name-d:1 Mean :1H 30M 0S 
name-e:1 3rd Qu.:1H 45M 0S 
      Max. :2H 0M 0S 

Здесь я использую пакет lubridate в качестве примера, но есть и другие варианты (? Проверить as.POSIXct или strptime)

0

Вы можете попробовать функцию strptime и затем использовать summary(times)

>times$time = strptime(times$time,%H:%M:%S") 
> summary(times) 
name  time      
name-a:1 Min. :2015-10-21 01:00:00 
name-b:1 1st Qu.:2015-10-21 01:15:00 
name-c:1 Median :2015-10-21 01:30:00 
name-d:1 Mean :2015-10-21 01:30:00 
name-e:1 3rd Qu.:2015-10-21 01:45:00 
      Max. :2015-10-21 02:00:00 
+0

OP только хочет время, нет даты. –

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