A: hoe u de eerste of laatste dag van de maand kunt bereiken met lubridate


U kunt de volgende methoden gebruiken om de eerste of laatste dag van de maand voor een datum in R te verkrijgen met behulp van functies in het lubridate- pakket:

Methode 1: Haal de eerste dag van de maand op

 library (lubridate)

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

Methode 2: Haal de laatste dag van de maand op

 library (lubridate)

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

De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken met het volgende dataframe:

 #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

        dirty date
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

Voorbeeld 1: Verkrijg de eerste dag van de maand met Glijmiddel

De volgende code laat zien hoe u de floor_date()- functie van het lubridate-pakket gebruikt om de eerste dag van de maand op te halen voor elke waarde in de datumkolom :

 #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

Houd er rekening mee dat de waarden in de nieuwe kolom first_day de eerste dag van de maand bevatten voor elke waarde in de datumkolom .

Opmerking : we hebben de functie ymd() gebruikt om eerst de tekenreeksen in de datumkolom naar een herkenbaar datumformaat te converteren.

Voorbeeld 2: Haal de laatste dag van de maand op met Lubridate

De volgende code laat zien hoe u de functie Ceiling_date() van het lubridate-pakket gebruikt om de laatste dag van de maand op te halen voor elke waarde in de datumkolom :

 #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

Houd er rekening mee dat de waarden in de nieuwe kolom last_day de laatste dag van de maand bevatten voor elke waarde in de datumkolom .

Raadpleeg de Lubridate- documentatiepagina voor meer datumopmaakopties.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:

Hoe een datum naar numeriek in R te converteren
Hoe maand uit datum te extraheren in R
Maanden optellen en aftrekken bij een datum in R

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert