为动物园时间序列增加零个月的需求

Mat*_*t C 4 intermittent r time-series zoo

我有一些间歇性需求数据,只包括需求存在的行.我通过read.csv把它带进来,我的2列是Date(作为日期)和Quantity(作为整数).然后我将它转换为动物园系列,并将每日需求与月需求结合起来.我的最终输出是动物园系列,其中日期是该月的第一天以及该月的总需求.

我的问题是这个动物园系列在缺少需求零的月份之间缺少,我需要这些来正确预测间歇性需求.

例如:我在2013-01-01日期有数量2,然后在2013-10-01中下一行是数量3.我需要将数量零添加到2013-02-01到2013-09-01.

Date <- c('1/1/2013','10/1/2013','11/1/2013')
Quantity <- c('2','3','6')

Date <- as.Date(Date, "%m/%d/%Y")

df <- data.frame(Date, Quantity)
df <- read.zoo(df)
df
Run Code Online (Sandbox Code Playgroud)

动物园系列输出:

2013-01-01  2013-10-01  2013-11-01
         2           3           6
Run Code Online (Sandbox Code Playgroud)

Hen*_*rik 6

因为"df"是一个zoo对象,所以你可以使用merge.zoo它的fill参数.当前数据集与zoo包含所有所需日期的空对象合并.

tt <- seq(min(Date), max(Date), "month")
merge(df, zoo(, tt), fill = 0)

# 2013-01-01 2013-02-01 2013-03-01 2013-04-01 2013-05-01 2013-06-01 2013-07-01 2013-08-01 2013-09-01 2013-10-01 2013-11-01 
#          2          0          0          0          0          0          0          0          0          3          6 
Run Code Online (Sandbox Code Playgroud)

有关更多示例,请参阅?merge.zoo("将不规则系列扩展为常规系列").