Как можно округлить секунды до 2 мест при использовании функции seconds_to_period пакета l в R-пакете? - PullRequest
0 голосов
/ 25 января 2020

Я конвертировал секунды в DD:HH:MM:SS формат, используя функцию Lubridate пакета R seconds_to_period. Теперь у меня есть огромный список раз, которые выглядят так -> 2d 7H 1M 5.31500000000233S. Мне нужно округлить секунды до 2 десятичных знаков.
Я пытался использовать round_date и ymd_hms, но получаю это error in as.POSIXct.numeric(x) : 'origin' must be supplied. Я попытался, если бы я мог получить доступ к секундам отдельно и написать функцию, чтобы изменить их, но не смог. Как я могу решить эту проблему?

Прикрепленный файл duration.RData и файл durdata.R для справочных данных. Оба файла имеют одинаковые данные, но один использует dput (), а другой - save (). Ссылка: ссылка на файлы

1 Ответ

3 голосов
/ 25 января 2020

Мы можем использовать round для форматирования десятичных знаков в объектах «Период».

head(round(time, 2))
#[1] "2d 7H 1M 5.32S"   "1d 9H 20M 37.49S" "7H 39M 37.95S" "2d 5H 0M 41.01S" 
#    "1d 8H 32M 2.8S"   "6H 36M 25.19S" 
...