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