Есть два метода, которые вы можете использовать для преобразования значений даты в числовые значения в R:
Способ 1: используйте as.numeric()
as. numeric (my_date)
Это вернет количество секунд, прошедших между вашим объектом даты и 01.01.1970.
Способ 2: использовать функции из пакета lubridate
library (lubridate)
#get seconds value in date object
second(my_date)
#get minutes value in date object
minute(my_date)
...
#get year value in date object
year(my_date)
Это вернет значение секунд, минут, лет и т. д. из вашего объекта даты.
В следующих примерах показано, как использовать каждый метод на практике.
Способ 1: используйте as.numeric()
В следующем коде показано, как преобразовать объект даты в числовой с помощью функции as.numeric() :
#create date object
my_date <- as. POSIXct ("10/14/2021 5:35:00 PM", format="%m/%d/%Y %H:%M:%S %p")
#view date object
my_date
[1] "2021-10-14 05:35:00 UTC"
#convert date object to number of seconds since 1/1/1970
as. numeric (my_date)
[1] 1634189700
#convert date object to number of days since 1/1/1970
as. numeric (my_date) / 86400
[1] 18914.23
#convert date object to number of years since 1/1/1970
as. numeric (my_date) / 86400 / 365
[1] 51.81982
На основании вывода мы видим:
- Разница между нашим объектом даты и 01.01.1970 составляет 1 634 189 700 секунд .
- Разница между нашим объектом даты и 01.01.1970 составляет 18 914,23 дня .
- Существует разница в 51,81982 года между нашим объектом даты и 01.01.1970.
Способ 2: использование функций из пакета lubridate
В следующем коде показано, как преобразовать объект даты в числовой с помощью функций из пакета lubridate в R:
library (lubridate)
#create date object
my_date <- as. POSIXct ("10/14/2021 5:35:00 PM", format="%m/%d/%Y %H:%M:%S %p")
#view date object
my_date
[1] "2021-10-14 05:35:00 UTC"
#extract various numerical values from date object
second(my_date)
[1] 0
minute(my_date)
[1] 35
hour(my_date)
[1] 5
day(my_date)
[1] 14
month(my_date)
[1] 10
year(my_date)
[1] 2021
Используя эти функции, мы можем извлечь значения секунд, минут, часов, дней, месяцев и лет из нашего объекта даты.
Обратитесь к этой онлайн-шпаргалке, чтобы получить полное представление о наиболее часто используемых функциях пакета lubridate.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные преобразования в R:
Как преобразовать строку в дату и время в R
Как преобразовать числа в даты в R
Как отсортировать фрейм данных по дате в R