R : Comment convertir la date en trimestre et en année



Vous pouvez utiliser l’une des deux méthodes suivantes pour convertir rapidement une date au format trimestre et année dans R :

Méthode 1 : utiliser le package zoo

library(zoo)

#convert date to year/quarter format
#df$date <- as.yearqtr(df$date, format = '%Y-%m-%d')

Méthode 2 : utiliser le package Lubridate

library(lubridate)
library(dplyr)

df %>% mutate(date = quarter(date, with_year = TRUE))

Les exemples suivants montrent comment utiliser chaque méthode avec le bloc de données suivant :

#create data frame
df <- data.frame(date=c('2022-01-03', '2022-02-15', '2022-05-09',
                        '2022-08-10', '2022-10-14', '2022-12-30'),
                 sales=c(130, 98, 120, 88, 94, 100))

#view data frame
df

        date sales
1 2022-01-03   130
2 2022-02-15    98
3 2022-05-09   120
4 2022-08-10    88
5 2022-10-14    94
6 2022-12-30   100

Exemple 1 : utiliser le package zoo

Le code suivant montre comment utiliser la fonction as.yearqtr() du package zoo pour formater les dates au format année/trimestre :

library(zoo)

#convert date to year/quarter format
df$date <- as.yearqtr(df$date, format = '%Y-%m-%d')

#view updated data frame
df

     date sales
1 2022 Q1   130
2 2022 Q1    98
3 2022 Q2   120
4 2022 Q3    88
5 2022 Q4    94
6 2022 Q4   100

Chaque date a été convertie au format trimestre et année.

Exemple 2 : Utiliser le package Lubridate

Le code suivant montre comment utiliser la fonction quarter() du package lubridate pour formater les dates au format année/trimestre :

library(lubridate)
library(dplyr) 

#convert date to year/quarter format
df %>% mutate(date = quarter(date, with_year = TRUE))

    date sales
1 2022.1   130
2 2022.1    98
3 2022.2   120
4 2022.3    88
5 2022.4    94
6 2022.4   100

Chaque date a été convertie au format trimestre et année.

Vous pouvez également omettre l’argument with_year pour afficher uniquement le trimestre sans l’année :

library(lubridate)
library(dplyr) 

#convert date to quarter format
df %>% mutate(date = quarter(date))

  date sales
1    1   130
2    1    98
3    2   120
4    3    88
5    4    94
6    4   100

Les dates affichent désormais le trimestre sans l’année.

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

Ajouter un commentaire

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