Я хотел бы рассчитать разницу между двумя наборами времени. Я могу это сделать, но я получаю разницу только в десятичных знаках, и я хотел бы знать, как преобразовать их в формат, как в «Минуты: секунды».
Итак, у меня есть минуты и секунды как символы:
video_begin <- c("8:14", "4:47", "8:27", "4:59", "4:57", "7:51", "6:11", "5:30")
video_end <- c("39:08", "47:10", "49:51", "44:31", "39:41", "47:12", "40:13", "46:52")
Я конвертирую их в значения времени с помощью as.POSIXct, делаю df и добавляю разницу в третий столбец, легко...
video_begin <- as.POSIXct(video_begin, format = "%M:%S")
video_end <- as.POSIXct(video_end, format = "%M:%S")
video <- data.frame(video_begin, video_end)
video$video_duration <- video_end - video_begin
И вот что я получаю за video
:
video_begin video_end video_duration
1 2017-09-12 00:08:14 2017-09-12 00:39:08 30.90000 mins
2 2017-09-12 00:04:47 2017-09-12 00:47:10 42.38333 mins
3 2017-09-12 00:08:27 2017-09-12 00:49:51 41.40000 mins
4 2017-09-12 00:04:59 2017-09-12 00:44:31 39.53333 mins
5 2017-09-12 00:04:57 2017-09-12 00:39:41 34.73333 mins
6 2017-09-12 00:07:51 2017-09-12 00:47:12 39.35000 mins
7 2017-09-12 00:06:11 2017-09-12 00:40:13 34.03333 mins
8 2017-09-12 00:05:30 2017-09-12 00:46:52 41.36667 mins
Как изменить формат video$video_duration
с десятичного на тот же формат, что и в video$video_begin
и video$video_end
: «Минуты:Секунды» (мне не важны день, месяц, год и час)?
Я старался:
video$video_duration <- as.POSIXct(video$video_duration, format = "%M:%S")
а также
strptime(video$video_duration, format="%M:%S")
но неее...
Я нашел несколько ответов, но я не очень ими доволен:
Как преобразовать десятичное время в POSIX
Алгоритм преобразования текстового времени в десятичное время
Разве нет более... удобного и простого способа сделать это?
Спасибо!