A: як отримати перший або останній день місяця за допомогою lubridate


Ви можете використовувати такі методи, щоб отримати перший або останній день місяця для дати в R за допомогою функцій у пакеті lubridate :

Спосіб 1: Отримайте перше число місяця

 library (lubridate)

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

Спосіб 2: Отримайте останній день місяця

 library (lubridate)

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

У наведених нижче прикладах показано, як використовувати кожен метод на практиці з таким кадром даних:

 #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

Приклад 1: Отримайте перший день місяця за допомогою Lubricant

Наступний код показує, як використовувати функцію floor_date() пакета lubridate, щоб отримати перший день місяця для кожного значення в стовпці дати :

 #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

Зверніть увагу, що значення в новому стовпці first_day містять перший день місяця для кожного значення в стовпці дати .

Примітка . Ми використали функцію ymd() , щоб спочатку перетворити рядки в стовпці дати у зрозумілий формат дати.

Приклад 2: Отримайте останній день місяця за допомогою Lubridate

У наступному коді показано, як використовувати функцію Ceiling_date() пакета lubridate, щоб отримати останній день місяця для кожного значення в стовпці дати :

 #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

Зверніть увагу, що значення в новому стовпці last_day містять останній день місяця для кожного значення в стовпці дати .

Зверніться до сторінки документації Lubridate, щоб отримати додаткові параметри форматування дати.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в R:

Як перетворити дату на числову в R
Як витягти місяць із дати в R
Як додавати та віднімати місяці до дати в R

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *