Как использовать difftime в r для расчета разницы во времени
Вы можете использовать функцию difftime() для расчета разницы во времени между двумя датами или датами в R.
Эта функция использует следующий базовый синтаксис:
difftime(time1, time2, units=" days ")
Золото:
- time1, time2 : обе даты или дата и время.
- unit : единицы измерения разницы во времени (по умолчанию — «дни», но есть и другие варианты: «секунды», «минуты», «часы» и «недели»).
Следующие примеры показывают, как использовать функцию 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
Используя аргумент unit , мы можем вычислить разницу во времени между двумя датами и временем в разных единицах измерения.
Пример 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