Как преобразовать дату в число в R (с примерами)


Есть два метода, которые вы можете использовать для преобразования значений даты в числовые значения в 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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.