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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *