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.

Ajouter un commentaire

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