Learn R Programming

⚠️There's a newer version (0.7.3) of this package.Take me there.

timeperiodsR - Упрощённое создание временных периодов, и извлечение их элементов в R

Цель пакета timeperiodsR

Зачастую при создании скриптов которые в последвии будут запускаться по рассписанию нам необходимо определить период, как правило таким периодом может быть прошлая неделя, прошлый месяц, какое то количество прошлых дней. Пакет timeperiodsR предоставляет вам набор функций которые автоматически будут вычислять такой период от какой либо базовой даты.

Также пакет позволяет вам получить за любой период вектор будних и выходных дней и официальные праздничные и рабочие дни для России, Украины, Белорусии и Казахстана.

Видео уроки по работе с timeperiodsR

Для того, что бы вам было проще разобраться с пакетом я создал на YouTube плейлист с короткими видео уроками.

  1. Как получить начальную и конечную дату прошлого месяца и операторы фильтрации вектора дат
  2. Как получить вектор будних и выходных дней из объекта класса tpr или вектора дат
  3. Получить официальные выходные и рабочие дни в странах СНГ
  4. Расширения класса tpr с помощью переменных среды
  5. Пользовательский список выходных дней

Функции пакета timeperiodsR

Текущая версия пакета состоит из 24 функций, по названию каждой из функций можно определить какой временной интервал она возвращает. Название состоит из префикса last / previous / this / next и временной единицы day / week / month / quarter / year. Нижнее подчёркивание _ является разделителем слов в названиях функций.

Список функций

  • last_n_days()
  • last_n_weeks()
  • last_n_months()
  • last_n_quarters()
  • last_n_years()
  • previous_week()
  • previous_month()
  • previous_quarter()
  • previous_year()
  • this_week()
  • this_month()
  • this_quarter()
  • this_year()
  • next_week()
  • next_month()
  • next_quarter()
  • next_year()
  • next_n_days()
  • next_n_weeks()
  • next_n_months()
  • next_n_quarters()
  • next_n_years()
  • custom_period()

Компоненты получаемых объектов

Любая из функций пакета возвращает объект класса tpr состоящий из следующих компонентов:

  • start - начальную дату;
  • end - конечную дату;
  • sequence - последовательность дат;
  • length - количество дней входящих в период;

Аргументы

В функциях пакета timeperiodsR присутвуют следующие аргументы:

  • x - Объект даты, от которой будет вычисляться интервал, по умолчанию это текущий день;
  • n - Количество временных интервалов на которое необходимо сместится от даты указанной в аргументе x;
  • part - Какую часть объекта вам необходимо получить:
    • "all" - объект со всеми доступными компонентами;
    • "start" - начальную дату;
    • "end" - конечную дату;
    • "sequence" - последовательность дат;
    • "length" - количество дней входящих в период;
  • week_start - Какой день будет являться началом недели: 1 - понедельник, 7 - воскресенье;
  • include_current - Включать ли в период текущий временной объект, TRUE или FALSE.

Основные методы

Пакет timeperiodsR имеет несколько методов, позволяющих вам извлекать некоторые элементы объектов класса tpr.

  • seq - получить последовательность дат из объекта класса tpr;
  • length - получить длительность объекта класса tpr в днях;
  • start - получить первую дату из объекта класса tpr;
  • end - получить последнюю дату из объекта класса tpr;
  • print - вывести в консоль информацию о периоде содержащемся в объекте класса tpr.

Пример кода

library(timeperiodsR)

# получить период равный двум предыдущим неделям
last2weeks <- last_n_weeks(n = 2)

# начальная дата
last2weeks$start
## или
start(last2weeks)

# конечная дата
last2weeks$end
## или
end(last2weeks)

# последовательность дат
last2weeks$sequence
## или
seq(last2weeks)

# количество дней вошедших в период
last2weeks$length
## или
length(last2weeks)

Операторы

В timeperiodsR есть несколько операторов.

  • %.in% - проверяет вхождение одного вектора дат, или объекта класса tpr в другой, и возвращает логический вектор.
  • %left_out% - сравнивает два объекта класса tpr, и возвращает значение из левого, которые отсутвуют в правом.
  • %left_in% - сравнивает два объекта класса tpr, и возвращает даты из левого объекта которые входят в парвый.
  • %right_out% - сравнивает два объекта класса tpr, и возвращает значение из правого, которые отсутвуют в левом.
  • %right_in% - сравнивает два объекта класса tpr, и возвращает даты из правого объекта которые присутвуют в левом.

Виньетки

Наиболее подробное описание по работе с пакетом timeperiodsR вы можете найти в виньетке, vignette("tpr_intro", package = "timeperiodsR")

Ссылки

  1. Полная, официальная документация по работе с пакетом timeperiodsR.
  2. Баг репорты, предложения по доработке и улучшению функционала timeperiodsR оставлять тут.
  3. Список релизов.
  4. Телеграмм канал R4marketing.
  5. Группа в Вконтакте.

Автор пакета

Алексей Селезнёв, Head of analytics dept. at Netpeak email: selesnow@gmail.com skype: selesnow facebook: facebook.com/selesnow blog: alexeyseleznev.wordpress.com

Бейджи

Copy Link

Version

Install

install.packages('timeperiodsR')

Monthly Downloads

214

Version

0.6.2

License

GPL-2

Maintainer

Alexey Seleznev

Last Published

April 3rd, 2020

Functions in timeperiodsR (0.6.2)

first_weekend

Get first weekend day in period.
last_n_quarters

Start and end of last n quarters
next_n_weeks

Start and end of next n weeks
next_n_months

Start and end of next n months
last_n_days

Start and end of last n days
as_timeperiod

Convert date or string vector to timeperiod.
last_n_weeks

Start and end of last n weeks
last_n_years

Start and end of last n years
next_month

Start and end of next month
next_quarter

Start and end of next quarter
last_weekend

Get last weekend day in period.
next_n_years

Start and end of next n weeks
last_workday

Get last workday day in period.
this_week

Start and end of week
next_n_quarters

Start and end of next n quarters
next_year

Start and end of next year
workdays

Get vector with workdays.
previous_month

Start and end of previous month
previous_quarter

Start and end of previous quarter
weekends_length

Number of weekdends days in the period.
next_week

Start and end of next week
next_n_days

Start and end of next n days
this_year

Start and end of year
previous_year

Start and end of previous year
previous_week

Start and end of previous week
this_month

Start and end of month
timeperiodsR-package

tools:::Rd_package_title("timeperiodsR")
this_quarter

Start and end of quarter
workdays_length

Number of workdays in the period.
tpr_operators

Operators of tpr objects.
weekends

Get vector with weekends.
last_n_months

Start and end of last n months
custom_period

Custopm period
first_workday

Get first workday day in period.
check_dayoffs

Check if the day is an official day off