Вы можете использовать функцию difftime() для вычисления разницы во времени между двумя датами или датами и временем в R.
Эта функция использует следующий базовый синтаксис:
difftime(time1, time2, units=" days ")
куда:
- time1, time2 : две даты или дата и время
- Units : Единицы , используемые для разницы во времени (по умолчанию «дни», но другие варианты включают «секунды», «минуты», «часы» и «недели»)
В следующих примерах показано, как использовать функцию difftime() в различных сценариях.
Пример 1. Использование difftime() для вычисления разницы во времени в различных единицах измерения
В следующем коде показано, как использовать функцию difftime() для вычисления разницы во времени между двумя датами и временем с использованием различных единиц измерения:
#define two datetimes
first <- "2022-08-20 08:15:22"
second <- "2022-01-01 20:04:48"
#calculate time difference in days
difftime(first, second)
Time difference of 230.5073 days
#calculate time difference in seconds
difftime(first, second, units=" secs ")
Time difference of 19915834 secs
#calculate time difference in minutes
difftime(first, second, units=" mins ")
Time difference of 331930.6 mins
#calculate time difference in hours
difftime(first, second, units=" hours ")
Time difference of 5532.176 hours
#calculate time difference in weeks
difftime(first, second, units=" weeks ")
Time difference of 32.92962 weeks
Используя аргумент единиц измерения , мы можем вычислить разницу во времени между двумя датами и временем в разных единицах измерения.
Пример 2. Расчет разницы во времени в формате ЧЧ:ММ:СС
Мы также можем использовать функцию as_hms() из библиотеки hms для вычисления разницы во времени между двумя датами и временем в формате ЧЧ:ММ:СС.
library (hms)
#define two datetimes
first <- "2022-01-01 20:15:22"
second <- "2022-01-01 08:04:48"
#calculate difference between datetimes in hours, minutes, seconds
as_hms(difftime(first, second))
12:10:34
Выходные данные показывают разницу во времени между двумя значениями даты и времени в формате часов, минут и секунд.
В этом сценарии разница между двумя значениями времени составляет 12 часов, 10 минут и 34 секунды.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:
Как преобразовать временную метку UNIX в дату в R
Как преобразовать символ в метку времени в R
Как извлечь год из даты в R
Как отсортировать фрейм данных по дате в R