У меня есть фрейм данных, который имеет длительности во время выполнения столбца.
>df
value runtime info
1 129 4:52:05 sample1
3 145 1-5:12:43 sample2
Я не уверен, как правильно преобразовать эти длительности в формат, который можно отсортировать, например, с помощью dplyrrange.
Если я использую следующее, я получаю несколько правильную и сортируемую длительность, но с датой, которая не нужна, а также это работает только для %d-%H:%M:%S
, длительности с %H:%M:%S
не правильно считываются и потребуютсялечиться отдельно.
>strptime('1-5:12:43',format='%d-%H:%M:%S')
[1] "2018-12-01 5:12:43 CET"
В пакете lubridate
есть функция duration
, но там невозможно указать формат ввода длительности.
Полагаю, я мог бы придумать умный оператор регулярного выражения, чтобы разложить строку времени выполнения на ее биты и использовать ее следующим образом:
>duration(second = 3, minute = 1.5, hour = 2, day = 6)
Однако, прежде чем я это сделаю, возможно, есть другие, проще предложения?