Среднее время в столбце в формате чч: мин: сек
Я пытаюсь определить среднее время в столбце фрейма данных в формате чч: мин: сек, используя R. Но не повезло. Помощь очень ценится. Образец данных, как показано ниже:
Col_Time
03:08:20
03:11:30
03:22:18
03:27:39
Мой вывод должен быть одной записью, которая является средним числом всех чисел в том же формате, что и входной столбец.
Спасибо
3 ответа
Решение
Ты можешь использовать chron
библиотека. В частности, times
функция. Обратите внимание, что times
внутренне представляет время в виде числового значения (десятичные дни).
Col_Time = c('03:08:20','03:11:30','03:22:18','03:27:39')
library(chron)
mean(times(Col_Time))
#[1] 03:17:27
Один путь с lubridate
пакет. Мы конвертируем время в секунды, берем среднее значение, а затем снова конвертируем эти секунды во время.
Col_Time = c('03:08:20','03:11:30','03:22:18','03:27:39')
library(lubridate)
seconds_to_period(mean(period_to_seconds(hms(Col_Time))))
#[1] "3H 17M 26.75S"
Мы можем сделать это без использования каких-либо внешних пакетов
format(mean(strptime(Col_Time, "%H:%M:%S")), "%H:%M:%S")
#[1] "03:17:26"
данные
Col_Time = c('03:08:20','03:11:30','03:22:18','03:27:39')