Як перетворити числа на дати в 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.