Comment obtenir le numéro de semaine à partir de dates dans R (avec exemples)



Vous pouvez utiliser les méthodes suivantes pour obtenir le numéro de semaine à partir d’une date dans R :

Méthode 1 : obtenir le numéro de la semaine en utilisant Base R

strftime(df$date_column, format = '%V')

Méthode 2 : obtenir le numéro de semaine à l’aide du package Lubridate

library(lubridate)

isoweek(ymd(df$date_column))

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

#create data frame 
df <- data.frame(date=as.Date(c('1/8/2022', '1/9/2022', '2/10/2022', '2/15/2022',
                                '3/5/2022', '3/22/2022', '3/27/2022'), '%m/%d/%Y'),
                 sales=c(8, 14, 22, 23, 16, 17, 23))

#view data frame
df

        date sales
1 2022-01-08     8
2 2022-01-09    14
3 2022-02-10    22
4 2022-02-15    23
5 2022-03-05    16
6 2022-03-22    17
7 2022-03-27    23

Exemple 1 : obtenir le numéro de la semaine en utilisant Base R

Le code suivant montre comment utiliser la fonction strftime() pour obtenir le numéro de semaine à partir de la colonne de date dans le bloc de données :

#add column to show week number
df$week_num <- strftime(df$date, format = "%V")

#view updated data frame
df

        date sales week_num
1 2022-01-08     8       01
2 2022-01-09    14       01
3 2022-02-10    22       06
4 2022-02-15    23       07
5 2022-03-05    16       09
6 2022-03-22    17       12
7 2022-03-27    23       12

La nouvelle colonne appelée week_num affiche le numéro de semaine pour la valeur dans la colonne date .

Remarque : D’après la documentation, voici comment %V% calcule les numéros de date : « le numéro de semaine de l’année (lundi comme premier jour de la semaine) sous forme de nombre décimal [01,53]. Si la semaine contenant le 1er janvier compte quatre jours ou plus dans la nouvelle année, elle est alors considérée comme la semaine 1. Sinon, c’est la dernière semaine de l’année précédente et la semaine suivante est la semaine 1. »

Exemple 2 : obtenir le numéro de semaine à l’aide du package Lubridate

Le code suivant montre comment utiliser la fonction isoweek() du package lubridate pour obtenir le numéro de semaine à partir de la colonne date dans le bloc de données :

#add column to show week number
df$week_num <- isoweek(ymd(df$date))

#view updated data frame
df

        date sales week_num
1 2022-01-08     8        1
2 2022-01-09    14        1
3 2022-02-10    22        6
4 2022-02-15    23        7
5 2022-03-05    16        9
6 2022-03-22    17       12
7 2022-03-27    23       12

La nouvelle colonne appelée week_num affiche le numéro de semaine pour la valeur dans la colonne date .

Notez que les numéros de semaine correspondent à ceux calculés à l’aide de la fonction strftime() dans l’exemple précédent.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :

Comment regrouper les données par mois inR
Comment extraire l’année à partir de la date dans R
Comment extraire le mois de la date dans R
Comment trier une trame de données par date dans R

Ajouter un commentaire

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