R : Comment obtenir le premier ou le dernier jour du mois en utilisant Lubridate



Vous pouvez utiliser les méthodes suivantes pour obtenir le premier ou le dernier jour du mois pour une date dans R à l’aide des fonctions du package lubridate :

Méthode 1 : obtenir le premier jour du mois

library(lubridate)

df$first_day <- floor_date(ymd(df$date), 'month')

Méthode 2 : obtenir le dernier jour du mois

library(lubridate)

df$last_day <- ceiling_date(ymd(df$date), 'month') - days(1)

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

#create data frame
df <- data.frame(date=c('2022-01-05', '2022-02-18', '2022-03-21',
                        '2022-09-15', '2022-10-30', '2022-12-25'),
                 sales=c(14, 29, 25, 23, 39, 46))

#view data frame
df

        date sales
1 2022-01-05    14
2 2022-02-18    29
3 2022-03-21    25
4 2022-09-15    23
5 2022-10-30    39
6 2022-12-25    46

Exemple 1 : Obtenez le premier jour du mois en utilisant Lubrifiant

Le code suivant montre comment utiliser la fonction floor_date() du package lubridate pour obtenir le premier jour du mois pour chaque valeur de la colonne date :

#add new column that contains first day of month
df$first_day <- floor_date(ymd(df$date), 'month')

#view updated data frame
df

        date sales  first_day
1 2022-01-05    14 2022-01-01
2 2022-02-18    29 2022-02-01
3 2022-03-21    25 2022-03-01
4 2022-09-15    23 2022-09-01
5 2022-10-30    39 2022-10-01
6 2022-12-25    46 2022-12-01

Notez que les valeurs de la nouvelle colonne first_day contiennent le premier jour du mois pour chaque valeur de la colonne date .

Remarque : Nous avons utilisé la fonction ymd() pour d’abord convertir les chaînes de la colonne date en un format de date reconnaissable.

Exemple 2 : Obtenir le dernier jour du mois à l’aide de Lubridate

Le code suivant montre comment utiliser la fonction Ceiling_date() du package lubridate pour obtenir le dernier jour du mois pour chaque valeur de la colonne date :

#add new column that contains last day of month
df$last_day <- ceiling_date(ymd(df$date), 'month') - days(1)

#view updated data frame
df

        date sales   last_day
1 2022-01-05    14 2022-01-31
2 2022-02-18    29 2022-02-28
3 2022-03-21    25 2022-03-31
4 2022-09-15    23 2022-09-30
5 2022-10-30    39 2022-10-31
6 2022-12-25    46 2022-12-3122-12-01

Notez que les valeurs de la nouvelle colonne last_day contiennent le dernier jour du mois pour chaque valeur de la colonne date .

Reportez-vous à la page de documentation de Lubridate pour plus d’options de formatage de date.

Ressources additionnelles

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

Comment convertir une date en numérique dans R
Comment extraire le mois de la date dans R
Comment ajouter et soustraire des mois à une date dans R

Ajouter un commentaire

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