Odp.: jak uzyskać pierwszy lub ostatni dzień miesiąca za pomocą lubridate


Możesz użyć następujących metod, aby uzyskać pierwszy lub ostatni dzień miesiąca dla daty w R, używając funkcji z pakietu lubridate :

Metoda 1: Uzyskaj pierwszy dzień miesiąca

 library (lubridate)

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

Metoda 2: Uzyskaj ostatni dzień miesiąca

 library (lubridate)

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

Poniższe przykłady pokazują, jak w praktyce zastosować każdą metodę z następującą ramką danych:

 #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

Przykład 1: Uzyskaj pierwszy dzień miesiąca za pomocą Lubrykantu

Poniższy kod pokazuje, jak używać funkcji Floor_date() pakietu lubridate w celu uzyskania pierwszego dnia miesiąca dla każdej wartości w kolumnie daty :

 #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

Pamiętaj, że wartości w nowej kolumnie pierwszy_dzień zawierają pierwszy dzień miesiąca dla każdej wartości w kolumnie daty .

Uwaga : Użyliśmy funkcji ymd() , aby najpierw przekonwertować ciągi znaków w kolumnie daty na rozpoznawalny format daty.

Przykład 2: Uzyskaj ostatni dzień miesiąca za pomocą Lubridate

Poniższy kod ilustruje sposób użycia funkcji Ceiling_date() pakietu lubridate w celu uzyskania ostatniego dnia miesiąca dla każdej wartości w kolumnie daty :

 #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

Należy pamiętać, że wartości w nowej kolumnie last_day zawierają ostatni dzień miesiąca dla każdej wartości w kolumnie daty .

Więcej opcji formatowania daty można znaleźć na stronie dokumentacji Lubridate.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w języku R:

Jak przekonwertować datę na liczbę w R
Jak wyodrębnić miesiąc z daty w R
Jak dodawać i odejmować miesiące do daty w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *