Объединить метку времени с общим временем в lubridate - PullRequest
0 голосов
/ 08 ноября 2019

У меня есть следующий фрейм данных:

  VideoDuration
1      00:02:17
2      00:02:17
3      00:01:47
4      00:02:37
5      00:02:41
6      00:04:00

Я хочу объединить метку времени в столбце (VideoDuration), чтобы получить одно значение.

Например, для приведенных выше строк: 14m59s

Любая подсказка, как я могу сделать это в lubridate?

1 Ответ

2 голосов
/ 08 ноября 2019

1. lubridate

Используйте hms для преобразования исходной строки в period> используйте period_to_seconds для преобразования в секунды> добавьте вторые значения> используйте seconds_to_period для преобразования обратно в period

library(lubridate)
seconds_to_period(sum(period_to_seconds(hms(d$VideoDuration))))
#[1] "15M 39S"

2. chron

library(chron)
sum(times(d$VideoDuration))
#[1] 00:15:39

ДАННЫЕ

d = structure(list(VideoDuration = c("00:02:17", "00:02:17", "00:01:47", 
                                     "00:02:37", "00:02:41", "00:04:00")),
              class = "data.frame", row.names = c("1", "2", "3", "4", "5", "6"))
...