Comment convertir des nombres en dates dans R
Souvent, vous devrez peut-être convertir des nombres au format de date dans R. Le moyen le plus simple de le faire est d’utiliser le package lubridate , qui possède plusieurs fonctions utiles pour gérer les dates dans R.
Ce didacticiel fournit plusieurs exemples d’utilisation pratique de ces fonctions.
Exemple 1 : convertir des entiers en dates
Le code suivant montre comment convertir une colonne de valeurs entières dans un bloc de données en un format de date à l’aide de la fonction 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 date sales 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"
Notez que le package lubridate a plusieurs fonctions pour gérer différents formats de date.
Par exemple, ce qui suit montre comment convertir une colonne de valeurs entières dans un bloc de données en un format de date à l’aide de la fonction 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 date sales 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"
Exemple 2 : convertir les mois et les années en dates
Le code suivant montre comment convertir une colonne de valeurs numériques représentant le nombre de mois à partir du 1er janvier 2010 en un format de date à l’aide de la fonction mois() :
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 date sales 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"
Et le code suivant montre comment convertir une colonne de valeurs numériques représentant le nombre d’années à partir du 1er janvier 2010 en un format de date à l’aide de la fonction 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 date sales 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"
Bonus : Référez-vous à cet aide-mémoire pour mieux comprendre les fonctions disponibles dans le package Lubridate.