一家商店的三个分店,只售卖棒棒糖,在day
1开设空库存。
前16天内每个商店进入的历史记录如下:。
DF = structure(list(branch.id = c(1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3), day = c(3, 7, 8, 15, 3, 6, 10, 1, 5, 6, 8, 14), amount = c(1, 2, 2, 3, 3, 2, 5, 2, 4, 1, 2, 2)), .Names = c("branch.id", "day", "amount"), row.names = c(NA, -12L), class = "data.frame")
DF
branch.id day amount
1 1 3 1
2 1 7 2
3 1 8 2
4 1 15 3
5 2 3 3
6 2 6 2
7 2 10 5
8 3 1 2
9 3 5 4
10 3 6 1
11 3 8 2
12 3 14 2
在每家商店,当天开始时,库存可能是空的;否则,必须出售一件且仅一件物品。
因此,每家商店每天结束时的剩余库存如下:
Table 2
days
1 2 3 4 5 6 7 8 9 10 11 13 14 15 16
branch 1 0 0 1 0 0 0 1 2 1 0 0 0 0 2 1
2 0 0 2 1 0 1 0 0 0 4 3 2 1 0 0
3 0 1 0 0 3 3 2 3 2 1 0 0 1 0 0
我还对每个商店的连续期间的以下摘要感兴趣,当天的库存 >不是空的:
Table 3
branch.id startDate endDate
1 3 3
1 7 9
1 15 16
2 3 4
2 6 6
2 10 14
3 2 2
3 5 10
3 14 14
问题:
事实上,实际数据是巨大的(数千个"分支"以及数千天)。
在R中生成表2和表3的高效方法是什么?
我认为将每个分支的时间表视为时间序列(?)可能会有用。