Как создать последовательность дат со смазкой в r


Вы можете использовать следующий базовый синтаксис для создания последовательности дат с помощью пакета lubridate в R:

 seq(ymd(' 2022-01-01 '), ymd(' 2022-10-31 '), by=' 1 week ')

В этом конкретном примере будет сгенерирована последовательность дат с 01.01.2022 по 31.10.2022 с интервалом в одну неделю .

Чтобы использовать другой интервал, просто замените неделю другой единицей времени, например днем, месяцем, кварталом, годом и т. д.

Следующие примеры показывают, как использовать этот синтаксис для создания последовательности дат на практике.

Пример 1: Создание последовательности дат по дням

Следующий код показывает, как генерировать последовательность дат с 01.01.2022 по 15.02.2022 в день:

 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"

Результатом является последовательность из 46 дат с 1.01.2022 по 25.02.2022.

Примечание . Вместо ввода 1 дня вы также можете просто ввести день .

Пример 2: генерировать последовательность дат по неделям

Следующий код показывает, как генерировать последовательность дат с 01.01.2022 по 15.02.2022 в неделю:

 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"

В результате получается последовательность из 7 дат с 1.01.2022 по 25.02.2022 в неделю.

Мы также могли бы использовать следующий код для создания последовательности дат с 1.01.2022 по 25.02.2022 с двухнедельными интервалами:

 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"

В результате получается последовательность из 4 дат, идущих с 01.01.2022 по 25.02.2022 с интервалом в 2 недели.

Пример 3. Создание последовательности дат по месяцам.

Следующий код показывает, как сгенерировать последовательность дат с 01.01.2022 по 31.10.2022 в месяц:

 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"

Результатом является последовательность из 10 дат с 01.01.2022 по 31.10.2022 в месяц.

Обратите внимание, что в этом уроке мы поделились лишь несколькими примерами того, как создать последовательность дат с помощью пакета lubridate .

Не стесняйтесь изменять дату начала, дату окончания и интервал, чтобы создать нужную последовательность дат.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:

Как преобразовать дату в числовое значение в R
Как извлечь месяц из даты в R
Как добавить и вычесть месяцы к дате в R

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

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