Як перетворити числа на дати в r


Часто вам може знадобитися конвертувати числа у формат дати в R. Найпростіший спосіб зробити це — скористатися пакетом lubridate , який має кілька корисних функцій для обробки дат у R.

Цей підручник містить кілька прикладів використання цих функцій на практиці.

Приклад 1: Перетворення цілих чисел на дати

Наступний код показує, як перетворити стовпець цілих значень у кадрі даних у формат дати за допомогою функції ymd() :

 library (lubridate)

#create data frame
df <- data.frame(date = c(20201022, 20201023, 20201026, 20201027, 20201028),
                 sales = c(4, 7, 8, 9, 12))

#convert date column from numeric to year-month-date format
df$date <- ymd (df$date)

#view data frame
df

        dirty date
1 2020-10-22 4
2 2020-10-23 7
3 2020-10-26 8
4 2020-10-27 9
5 2020-10-28 12

#view class of date column
class (df$date)

[1] “Date”

Зауважте, що пакет lubridate має кілька функцій для обробки різних форматів дати.

Наприклад, нижче показано, як перетворити стовпець цілих значень у кадрі даних у формат дати за допомогою функції ydm() :

 library (lubridate)

#create data frame
df <- data.frame(date = c(20202210, 20202310, 20202610, 20202710, 20202810),
                 sales = c(4, 7, 8, 9, 12))

#convert date column from numeric to year-month-date format
df$date <- ydm (df$date)

#view data frame
df

        dirty date
1 2020-10-22 4
2 2020-10-23 7
3 2020-10-26 8
4 2020-10-27 9
5 2020-10-28 12

#view class of date column
class (df$date)

[1] “Date”

Приклад 2. Перетворення місяців і років на дати

Наступний код показує, як перетворити стовпець числових значень, що представляють кількість місяців з 1 січня 2010 року, у формат дати за допомогою функції months() :

 library (lubridate)

#create data frame
df <- data.frame(date = c(11, 15, 18, 22, 24),
                 sales = c(4, 7, 8, 9, 12))

#convert date column from numeric to year-month-date format
df$date <- as. Date (' 2010-01-01 ') + months (df$date)

#view data frame
df

        dirty date
1 2010-12-01 4
2 2011-04-01 7
3 2011-07-01 8
4 2011-11-01 9
5 2012-01-01 12

#view class of date column
class (df$date)

[1] “Date”

У наступному коді показано, як перетворити стовпець числових значень, що представляють кількість років з 1 січня 2010 року, у формат дати за допомогою функції Years() :

 library (lubridate)

#create data frame
df <- data.frame(date = c(11, 15, 18, 22, 24),
                 sales = c(4, 7, 8, 9, 12))

#convert date column from numeric to year-month-date format
df$date <- as. Date (' 2010-01-01 ') + years (df$date)

#view data frame
df

        dirty dates
1 2021-01-01 4
2 2025-01-01 7
3 2028-01-01 8
4 2032-01-01 9
5 2034-01-01 12

#view class of date column
class (df$date)

[1] “Date”

Бонус: перегляньте цю шпаргалку , щоб краще зрозуміти функції, доступні в пакеті Lubridate.

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *