2016-03-15 2 views
0

Я хочу генерировать даты в заданном диапазоне в R, которые являются рабочими днями в соответствии с каким-либо календарем. Очень похоже на то, что вы можете получить, когда используете функцию panda date_range с частотой «b» в Python. Кто-нибудь знает о эквиваленте R?Последовательность дат дня в бизнесе в R

Я надеялся, что что-то будет в зоопарке/xts, но не удалось найти.

+0

вы хотите исключить выходные или же конкретной страны государственные праздники ли? –

+0

«по календарю» довольно широк. Вы можете создать последовательность дат, используя 'seq.Date (to, from, by =" 1 day ")', но для того, чтобы уйти из нерабочих дней, вам нужен способ поиска того, что эти дни? – kristang

+0

Точно, я хочу исключить праздники и выходные по стране. Если я могу указать календарь страны с каким-то кодом ISO, то все будет лучше. Вы не можете этого сделать, хотя в panda.date_range. – sdeveloper

ответ

1

Я бы рекомендовал проверить комплект timeDate. Он имеет удобные функции, такие как isBizday, которые вы можете использовать, чтобы проверить, являются ли векторы дат бизнес-датами на основе определенного календаря.

isBizday(x, holidays = holidayNYSE(), wday = 1:5) 
+0

Я установил пакет, называемый «biz days», который имеет функцию «bizseq», которая, кажется, делает то, что я хочу, кроме того, что я не знаю сохраненный по умолчанию календарь. Да, функция timeDate выглядит более гибкой. – sdeveloper

+0

На самом деле у biz-дней есть опция календаря https://cran.r-project.org/web/packages/bizdays/bizdays.pdf – sdeveloper

1
library(timeDate) 
holidays = holidayNYSE() 
daysSeq = as.timeDate(seq(from = as.Date("2016-03-01"), to = as.Date("2016-03-16"), by = "day")) 
daysSeq[isBizday(daysSeq, holidays = holidays, wday = 1:5)] 
Смежные вопросы