R: como obter o primeiro ou último dia do mês usando o lubridate


Você pode usar os seguintes métodos para obter o primeiro ou último dia do mês para uma data em R usando funções no pacote lubridate :

Método 1: obtenha o primeiro dia do mês

 library (lubridate)

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

Método 2: obtenha o último dia do mês

 library (lubridate)

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

Os exemplos a seguir mostram como usar cada método na prática com o seguinte quadro de dados:

 #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

Exemplo 1: Obtenha o primeiro dia do mês usando Lubrificante

O código a seguir mostra como usar a função floor_date() do pacote lubridate para obter o primeiro dia do mês para cada valor na coluna de 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

Observe que os valores na nova coluna first_day contêm o primeiro dia do mês para cada valor na coluna de data .

Nota : Usamos a função ymd() para primeiro converter as strings na coluna de data em um formato de data reconhecível.

Exemplo 2: Obtenha o último dia do mês usando Lubridate

O código a seguir mostra como usar a função Roof_date() do pacote lubridate para obter o último dia do mês para cada valor na coluna de 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

Observe que os valores na nova coluna last_day contêm o último dia do mês para cada valor na coluna de data .

Consulte a página de documentação do Lubridate para obter mais opções de formatação de data.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em R:

Como converter uma data em numérico em R
Como extrair mês da data em R
Como adicionar e subtrair meses a uma data em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *