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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *