Comment extraire le mois de la date dans R (avec exemples)



Il existe deux façons d’extraire rapidement le mois d’une date dans R :

Méthode 1 : utiliser format()

df$month <- format(as.Date(df$date, format="%d/%m/%Y"),"%m")

Méthode 2 : utilisez le package de lubrification

library(lubridate)

df$month <- month(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 le mois de la date à l’aide de format()

Le code suivant montre comment extraire le mois d’une date à l’aide de la fonction format() combinée à l’argument « %m » :

#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 month
df$month <- format(as.Date(df$date, format="%d/%m/%Y"),"%m")

#view updated data frame
df

        date sales month
1 01/01/2021    34    01
2 01/04/2021    36    04
3 01/09/2021    44    09

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 month
df$month<- format(as.Date(df$date, format="%Y-%m-%d"),"%m")

#view updated data frame
df

        date sales month
1 2021-01-01    34    01
2 2021-01-04    36    01
3 2021-01-09    44    01

Remarque : Vous pouvez également utiliser %B pour extraire le mois sous forme de nom de chaîne (janvier) au lieu d’une valeur numérique (01).

Méthode 2 : Extraire le mois de la date à l’aide de Lubridate

Nous pouvons également utiliser les fonctions du package lubridate pour extraire rapidement le mois 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 month
df$month<- month(mdy(df$date))

#view updated data frame
df

        date sales month
1 01/01/2021    34     1
2 01/04/2021    36     1
3 01/09/2021    44     1

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 month
df$month <- month(ymd(df$date))

#view updated data frame
df

        date sales month
1 2021-01-01    34     1
2 2021-01-04    36     1
3 2021-01-09    44     1

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans R :

Comment extraire l’année à partir de la date dans R
Comment calculer le nombre de mois entre les dates dans R

Ajouter un commentaire

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