Comment convertir un facteur en date dans R (avec des exemples)
Vous pouvez utiliser l’une des deux méthodes suivantes pour convertir rapidement un facteur en date dans R :
Méthode 1 : utiliser Base R
as.Date(factor_variable, format = '%m/%d/%Y')
Méthode 2 : utiliser Lubrifier
library(lubridate)
mdy(factor_variable)
Les exemples suivants montrent comment utiliser chaque méthode avec le bloc de données suivant :
#create data frame df <- data.frame(day=factor(c('1/1/2020', '1/13/2020', '1/15/2020')), sales=c(145, 190, 223)) #view data frame df day sales 1 1/1/2020 145 2 1/13/2020 190 3 1/15/2020 223 #view class of 'day' variable class(df$day) [1] "factor"
Exemple 1 : Convertir un facteur en date à l’aide de la base R
Le code suivant montre comment convertir la variable « jour » dans le bloc de données d’un facteur en une date à l’aide de la fonction as.Date() de la base R :
#convert 'day' column to date format
df$day <- as.Date(df$day, format = '%m/%d/%Y')
#view updated data frame
df
day sales
1 2020-01-01 145
2 2020-01-13 190
3 2020-01-15 223
#view class of 'day' variable
class(df$day)
[1] "Date"
Notez que la variable « jour » a été convertie en format de date.
Exemple 2 : Convertir le facteur en date à l’aide de Lubridate
Le code suivant montre comment convertir la variable ‘day’ d’un facteur en date à l’aide de la fonction mdy() du package lubridate :
library(lubridate)
#convert 'day' column to date format
df$day <- mdy(df$day)
#view updated data frame
df
day sales
1 2020-01-01 145
2 2020-01-13 190
3 2020-01-15 223
#view class of 'day' variable
class(df$day)
[1] "Date"
La variable ‘jour’ a été convertie en format date.
Notez que mdy() indique un format mois-jour-année.
Remarque : Vous pouvez trouver la documentation complète du package lubridate ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres conversions courantes dans R :
Comment convertir une date en numérique dans R
Comment convertir un numérique en caractère dans R
Comment convertir des variables catégorielles en numériques dans R