forecast::bizdays可能的错误

forecast::bizdays可能的错误,r,datetime,forecasting,R,Datetime,Forecasting,似乎forecast::bizdays在2015年10月的工作日时间序列中添加了一个奇怪的1,并在未来将真实数据移动一个月。我做错什么了吗?问题似乎与第19行有关: library(forecast) library(magrittr) dat <- ts(rep(1, 30), start = c(2015, 7), frequency = 12) dat # Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec #2015

似乎forecast::bizdays在2015年10月的工作日时间序列中添加了一个奇怪的1,并在未来将真实数据移动一个月。我做错什么了吗?

问题似乎与第19行有关:

library(forecast) 

library(magrittr)

dat <- ts(rep(1, 30), start = c(2015, 7), frequency = 12)
dat
#     Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
#2015                           1   1   1   1   1   1
#2016   1   1   1   1   1   1   1   1   1   1   1   1
#2017   1   1   1   1   1   1   1   1   1   1   1   1

dat %>% bizdays("NewYork")
#     Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
#2015                          21  23  23   1  21  22
#2016  22  21  23  22  21  21  21  22  23  22  22  21
#2017  22  20  23  21  20  22  21  22  23  23  22  22
#2018  21 
请注意,由于时区的原因,第一个日期被移到了六月。及

bizdays
#  [1] "2015 Jun" "2015 Jul" "2015 Jul" "2015 Jul" "2015 Jul" "2015 Jul"
#  [7] "2015 Jul" "2015 Jul" "2015 Jul" "2015 Jul" "2015 Jul" "2015 Jul"
#...
#[643] "2017 Dec" "2017 Dec" "2017 Dec" "2017 Dec" "2017 Dec" "2017 Dec"
#[649] "2017 Dec" "2017 Dec" "2017 Dec" "2017 Dec" "2017 Dec" "2017 Dec"
这是不正确的

一种解决方法是编辑bizdays函数,并将第19行替换为

num.days
#bizdays
#2015 Aug 2015 Dec 2015 Jul 2015 Jun 2015 Nov 2015 Oct 2015 Sep 2016 Apr 
#      21       23       23        1       21       22       22       21 
#2016 Aug 2016 Dec 2016 Feb 2016 Jan 2016 Jul 2016 Jun 2016 Mar 2016 May 
#      23       22       21       21       21       22       23       22 
#2016 Nov 2016 Oct 2016 Sep 2017 Apr 2017 Aug 2017 Dec 2017 Feb 2017 Jan 
#      22       21       22       20       23       21       20       22 
#2017 Jul 2017 Jun 2017 Mar 2017 May 2017 Nov 2017 Oct 2017 Sep 
#      21       22       23       23       22       22       21 

但是第33行也有一个问题,它没有考虑到时间的变化:

numdays
#bizdays
#2015-06 2015-07 2015-08 2015-09 2015-10 2015-11 2015-12 2016-01 2016-02 2016-03 
#      1      23      21      22      22      21      23      21      21      23 
#2016-04 2016-05 2016-06 2016-07 2016-08 2016-09 2016-10 2016-11 2016-12 2017-01 
#     21      22      22      21      23      22      21      22      22      22 
#2017-02 2017-03 2017-04 2017-05 2017-06 2017-07 2017-08 2017-09 2017-10 2017-11 
#     20      23      20      23      22      21      23      21      22      22 
#2017-12 
#     21 

从哪里来%%%?这是MigrrtTrar,这个表达式相当于BZayDSDAT,NeYYKYK,请考虑在您的帖子中添加对非基础包的调用。
num.days
#bizdays
#2015 Aug 2015 Dec 2015 Jul 2015 Jun 2015 Nov 2015 Oct 2015 Sep 2016 Apr 
#      21       23       23        1       21       22       22       21 
#2016 Aug 2016 Dec 2016 Feb 2016 Jan 2016 Jul 2016 Jun 2016 Mar 2016 May 
#      23       22       21       21       21       22       23       22 
#2016 Nov 2016 Oct 2016 Sep 2017 Apr 2017 Aug 2017 Dec 2017 Feb 2017 Jan 
#      22       21       22       20       23       21       20       22 
#2017 Jul 2017 Jun 2017 Mar 2017 May 2017 Nov 2017 Oct 2017 Sep 
#      21       22       23       23       22       22       21 
bizdays <- format(biz, format = "%Y-%m")
#  [1] "2015-06" "2015-07" "2015-07" "2015-07" "2015-07" "2015-07" "2015-07"
#  [8] "2015-07" "2015-07" "2015-07" "2015-07" "2015-07" "2015-07" "2015-07"
#...
#[645] "2017-12" "2017-12" "2017-12" "2017-12" "2017-12" "2017-12" "2017-12"
#[652] "2017-12" "2017-12" "2017-12"
numdays
#bizdays
#2015-06 2015-07 2015-08 2015-09 2015-10 2015-11 2015-12 2016-01 2016-02 2016-03 
#      1      23      21      22      22      21      23      21      21      23 
#2016-04 2016-05 2016-06 2016-07 2016-08 2016-09 2016-10 2016-11 2016-12 2017-01 
#     21      22      22      21      23      22      21      22      22      22 
#2017-02 2017-03 2017-04 2017-05 2017-06 2017-07 2017-08 2017-09 2017-10 2017-11 
#     20      23      20      23      22      21      23      21      22      22 
#2017-12 
#     21 
out <- ts(num.days, start = tsp(x)[1L], frequency = freq)
out
#     Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
#2015                           1  23  21  22  22  21
#2016  23  21  21  23  21  22  22  21  23  22  21  22
#2017  22  22  20  23  20  23  22  21  23  21  22  22
#2018  21