Как преобразовать числа в даты в 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.