Como gerar uma sequência de datas com lubrificação em r
Você pode usar a seguinte sintaxe básica para gerar uma sequência de datas usando o pacote lubridate em R:
seq(ymd(' 2022-01-01 '), ymd(' 2022-10-31 '), by=' 1 week ')
Este exemplo específico irá gerar uma sequência de datas de 01/01/2022 a 31/10/2022 em intervalos de uma semana .
Para usar um intervalo diferente, basta substituir semana por outra unidade de tempo, como dia, mês, trimestre, ano, etc.
Os exemplos a seguir mostram como usar essa sintaxe para gerar uma sequência de datas na prática.
Exemplo 1: Gere uma sequência de datas por dias
O código a seguir mostra como gerar uma sequência de datas de 01/01/2022 a 15/02/2022 por dia:
library (lubridate)
#generate sequence of dates from 1/1/2022 to 2/15/2022 by day
seq(ymd(' 2022-01-01 '), ymd(' 2022-02-15 '), by=' 1 day ')
[1] "2022-01-01" "2022-01-02" "2022-01-03" "2022-01-04" "2022-01-05"
[6] "2022-01-06" "2022-01-07" "2022-01-08" "2022-01-09" "2022-01-10"
[11] "2022-01-11" "2022-01-12" "2022-01-13" "2022-01-14" "2022-01-15"
[16] "2022-01-16" "2022-01-17" "2022-01-18" "2022-01-19" "2022-01-20"
[21] "2022-01-21" "2022-01-22" "2022-01-23" "2022-01-24" "2022-01-25"
[26] "2022-01-26" "2022-01-27" "2022-01-28" "2022-01-29" "2022-01-30"
[31] "2022-01-31" "2022-02-01" "2022-02-02" "2022-02-03" "2022-02-04"
[36] "2022-02-05" "2022-02-06" "2022-02-07" "2022-02-08" "2022-02-09"
[41] "2022-02-10" "2022-02-11" "2022-02-12" "2022-02-13" "2022-02-14"
[46] "2022-02-15"
O resultado é uma sequência de 46 datas de 01/01/2022 a 25/02/2022.
Nota : Em vez de inserir 1 dia , você também pode inserir apenas o dia .
Exemplo 2: gere uma sequência de datas por semanas
O código a seguir mostra como gerar uma sequência de datas de 01/01/2022 a 15/02/2022 por semana:
library (lubridate)
#generate sequence of dates from 1/1/2022 to 2/15/2022 by week
seq(ymd(' 2022-01-01 '), ymd(' 2022-02-15 '), by=' 1 week ')
[1] "2022-01-01" "2022-01-08" "2022-01-15" "2022-01-22" "2022-01-29"
[6] "2022-02-05" "2022-02-12"
O resultado é uma sequência de 7 datas de 01/01/2022 a 25/02/2022 por semana.
Também poderíamos usar o seguinte código para gerar uma sequência de datas de 01/01/2022 a 25/02/2022 em intervalos de 2 semanas :
library (lubridate)
#generate sequence of dates from 1/1/2022 to 2/15/2022 by 2 weeks
seq(ymd(' 2022-01-01 '), ymd(' 2022-02-15 '), by=' 2 week ')
[1] "2022-01-01" "2022-01-15" "2022-01-29" "2022-02-12"
O resultado é uma sequência de 4 datas que vão de 01/01/2022 a 25/02/2022 com intervalo de 2 semanas.
Exemplo 3: Gere uma sequência de datas por mês
O código a seguir mostra como gerar uma sequência de datas de 01/01/2022 a 31/10/2022 por mês:
library (lubridate)
#generate sequence of dates from 1/1/2022 to 10/31/2022 by month
seq(ymd(' 2022-01-01 '), ymd(' 2022-02-15 '), by=' 1 month ')
[1] "2022-01-01" "2022-02-01" "2022-03-01" "2022-04-01" "2022-05-01"
[6] "2022-06-01" "2022-07-01" "2022-08-01" "2022-09-01" "2022-10-01"
O resultado é uma sequência de 10 datas de 01/01/2022 a 31/10/02/2022 por mês.
Observe que neste tutorial compartilhamos apenas alguns exemplos de como gerar uma sequência de datas usando o pacote lubridate .
Sinta-se à vontade para alterar a data de início, a data de término e o intervalo para criar a sequência de datas específica desejada.
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