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


Существует два метода, которые вы можете использовать для преобразования значений даты в числовые значения в R:

Метод 1: используйте as.numeric()

 as. numeric (my_date)

Это вернет количество секунд, прошедших между вашим объектом даты и 01.01.1970.

Способ 2. Используйте функции пакета смазки.

 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

По результату мы видим:

  • Разница между нашим объектом даты и 1 января 1970 года составляет 1 634 189 700 секунд .
  • Разница между нашим объектом даты и 1 января 1970 года составляет 18 914,23 дня .
  • Разница между нашим объектом даты и 01.01.1970 составляет 51,81982 года .

Способ 2. Используйте функции пакета смазки.

Следующий код показывает, как преобразовать объект даты в числовой с помощью функций пакета 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:

Как преобразовать строку в Datetime в R
Как преобразовать числа в даты в R
Как отсортировать кадр данных по дате в R

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *