Comment extraire l’année à partir de la date dans R (avec des exemples)
Il existe deux façons d’extraire rapidement l’année d’une date dans R :
Méthode 1 : utiliser format()
df$year <- format(as.Date(df$date, format="%d/%m/%Y"),"%Y")
Méthode 2 : utilisez le package de lubrification
library(lubridate) df$year <- year(mdy(df$date))
Ce didacticiel montre un exemple de la façon d’utiliser chacune de ces méthodes dans la pratique.
Méthode 1 : Extraire l’année de la date à l’aide de format()
Le code suivant montre comment extraire l’année d’une date à l’aide de la fonction format() combinée à l’argument « %Y » :
#create data frame df <- data.frame(date=c("01/01/2021", "01/04/2021" , "01/09/2021"), sales=c(34, 36, 44)) #view data frame df date sales 1 01/01/2021 34 2 01/04/2021 36 3 01/09/2021 44 #create new variable that contains year df$year <- format(as.Date(df$date, format="%d/%m/%Y"),"%Y") #view new data frame df date sales year 1 01/01/2021 34 2021 2 01/04/2021 36 2021 3 01/09/2021 44 2021
Notez que cette fonction format() fonctionne avec une variété de formats de date. Il faut simplement préciser le format :
#create data frame df <- data.frame(date=c("2021-01-01", "2021-01-04" , "2021-01-09"), sales=c(34, 36, 44)) #view data frame df date sales 1 2021-01-01 34 2 2021-01-04 36 3 2021-01-09 44 #create new variable that contains year df$year <- format(as.Date(df$date, format="%Y-%m-%d"),"%Y") #view new data frame df date sales year 1 01/01/2021 34 2021 2 01/04/2021 36 2021 3 01/09/2021 44 2021
Méthode 2 : Extraire l’année à partir de la date à l’aide de Lubridate
Nous pouvons également utiliser les fonctions du package lubridate pour extraire rapidement l’année d’une date :
library(lubridate) #create data frame df <- data.frame(date=c("01/01/2021", "01/04/2021" , "01/09/2021"), sales=c(34, 36, 44)) #view data frame df date sales 1 01/01/2021 34 2 01/04/2021 36 3 01/09/2021 44 #create new variable that contains year df$year <- year(mdy(df$date)) #view new data frame df date sales year 1 01/01/2021 34 2021 2 01/04/2021 36 2021 3 01/09/2021 44 2021
Lubridate fonctionne également avec une variété de formats de date. Il faut simplement préciser le format :
#create data frame df <- data.frame(date=c("2021-01-01", "2021-01-04" , "2021-01-09"), sales=c(34, 36, 44)) #view data frame df date sales 1 2021-01-01 34 2 2021-01-04 36 3 2021-01-09 44 #create new variable that contains year df$year <- year(ymd(df$date)) #view new data frame df date sales year 1 01/01/2021 34 2021 2 01/04/2021 36 2021 3 01/09/2021 44 2021
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans R :
Comment parcourir les noms de colonnes dans R
Comment supprimer les valeurs aberrantes de plusieurs colonnes dans R