将缺失的变量 id 估算到时间序列面板中

Impute missing variable id's into a time series panel

为了进行一些时间序列分析,我想使用如下所示的数据框:

data <- data.frame (Store_ID = as.character(c(seq( 1, length.out = 10),
                                              seq( 1, length.out = 9),
                                              c(1,2,3,4,6,7,8,9))),
                    amount_sold = c(seq( 1, 9, length.out = 27)),
                    date = c(rep(as.Date("2015-01-01"),10),
                             rep(as.Date("2015-01-02"),9),
                             rep(as.Date("2015-01-03"),8)
                             )
                            )

如您所见,第一个日期 (2015-01-01) 有 10 个 Store_ID,但下一个日期只有 9 个,最后一个日期只有 8 个。

对于我的分析,我需要添加接下来两天缺少的 Store_ID。结果,我想要 30 行和一个“0”作为 amount_sold 来表示缺少的 Store_ID。

尝试

library(tidyr)

data <- data.frame (Store_ID = as.character(c(seq( 1, length.out = 10),
                                          seq( 1, length.out = 9),
                                          c(1,2,3,4,6,7,8,9))),
                amount_sold = c(seq( 1, 9, length.out = 27)),
                date = c(rep(as.Date("2015-01-01"),10),
                         rep(as.Date("2015-01-02"),9),
                         rep(as.Date("2015-01-03"),8)
                )
) %>%
  complete(Store_ID, date, fill = list(amount_sold = 0))