R: come ottenere il primo o l'ultimo giorno del mese utilizzando lubridate


È possibile utilizzare i seguenti metodi per ottenere il primo o l’ultimo giorno del mese per una data in R utilizzando le funzioni nel pacchetto lubridate :

Metodo 1: ottieni il primo giorno del mese

 library (lubridate)

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

Metodo 2: ottieni l’ultimo giorno del mese

 library (lubridate)

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

I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con il seguente frame di dati:

 #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

Esempio 1: ottieni il primo giorno del mese usando il lubrificante

Il codice seguente mostra come utilizzare la funzione floor_date() del pacchetto lubridate per ottenere il primo giorno del mese per ogni valore nella colonna della data :

 #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

Tieni presente che i valori nella nuova colonna first_day contengono il primo giorno del mese per ciascun valore nella colonna della data .

Nota : abbiamo utilizzato la funzione ymd() per convertire prima le stringhe nella colonna della data in un formato di data riconoscibile.

Esempio 2: Ottieni l’ultimo giorno del mese utilizzando Lubridate

Il codice seguente mostra come utilizzare la funzione Roof_date() del pacchetto lubridate per ottenere l’ultimo giorno del mese per ogni valore nella colonna della data :

 #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

Tieni presente che i valori nella nuova colonna last_day contengono l’ultimo giorno del mese per ciascun valore nella colonna della data .

Fare riferimento alla pagina della documentazione di Lubrificante per ulteriori opzioni di formattazione della data.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in R:

Come convertire una data in numerica in R
Come estrarre il mese dalla data in R
Come aggiungere e sottrarre mesi a una data in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *