R : Comment convertir un caractère en date à l’aide de Lubridate
Vous pouvez utiliser diverses fonctions du package lubridate dans R pour convertir une colonne de caractères en format de date.
Deux des fonctions les plus courantes incluent :
- ymd() – Convertit le caractère au format année-mois-date en date
- mdy() – Convertir le caractère au format mois-jour-année en date
Les exemples suivants montrent comment utiliser les fonctions ymd() et mdy() en pratique.
Remarque : reportez-vous à la documentation de Lubridate pour une liste complète des fonctions que vous pouvez utiliser pour convertir des caractères en dates en fonction du format dans lequel se trouvent vos dates.
Exemple 1 : convertir un caractère en date à l’aide de ymd()
Supposons que nous ayons le bloc de données suivant dans R :
#create data frame
df <- data.frame(date=c('2022-01-05', '2022-02-18', '2022-03-21',
'2022-09-15', '2022-10-30', '2022-12-25'),
sales=c(14, 29, 25, 23, 39, 46))
#view data frame
df
date sales
1 2022-01-05 14
2 2022-02-18 29
3 2022-03-21 25
4 2022-09-15 23
5 2022-10-30 39
6 2022-12-25 46
#view class of date column
class(df$date)
[1] "character"
Actuellement, les valeurs de la colonne date sont des caractères, mais nous pouvons utiliser la fonction ymd() du package lubridate pour les convertir en dates :
library(lubridate) #convert character to date format df$date <- ymd(df$date) #view updated data frame df date sales 1 2022-01-05 14 2 2022-02-18 29 3 2022-03-21 25 4 2022-09-15 23 5 2022-10-30 39 6 2022-12-25 46 #view updated class of date column class(df$date) [1] "Date"
Nous pouvons voir que la colonne date a désormais une classe Date au lieu de caractère.
Exemple 2 : convertir un caractère en date à l’aide de mdy()
Supposons que nous ayons le bloc de données suivant dans R :
#create data frame
df <- data.frame(date=c('March 4, 2022', 'April 9, 2022', 'May 6, 2022',
'May 29, 2022', 'June 1, 2022', 'July 2, 2022'),
sales=c(14, 29, 25, 23, 39, 46))
#view data frame
df
date sales
1 March 4, 2022 14
2 April 9, 2022 29
3 May 6, 2022 25
4 May 29, 2022 23
5 June 1, 2022 39
6 July 2, 2022 46
#view class of date column
class(df$date)
[1] "character"
Actuellement, les valeurs de la colonne date sont des caractères, mais nous pouvons utiliser la fonction mdy() du package lubridate pour les convertir en dates :
library(lubridate) #convert character to date format df$date <- mdy(df$date) #view updated data frame df date sales 1 2022-03-04 14 2 2022-04-09 29 3 2022-05-06 25 4 2022-05-29 23 5 2022-06-01 39 6 2022-07-02 46 #view updated class of date column class(df$date) [1] "Date"
Nous pouvons voir que la colonne date a désormais une classe Date au lieu de caractère.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :
Comment convertir une date en numérique dans R
Comment extraire le mois de la date dans R
Comment ajouter et soustraire des mois à une date dans R