这是我经过多年被动浏览后在 stackoverflow 上发表的第一篇文章。我被这个问题困扰了,这让我发疯!非常感谢您的帮助。
我有一个按年龄划分的库存供应和需求的数据框架。我已经收集了许多产品的不同时间的数据。一定年龄的库存需求可以通过相同年龄或更年轻的供应来满足。我正在尝试计算每个年龄段(从最年轻到最年长)的供应量可以满足多少需求。
数据框会很大(10^7 行),所以我尝试使用dplyr、mutate、lag和cumsum与循环来执行此操作,我怀疑这会很慢。
这是我的数据集中的一个示例组(省略了产品和日期分组):
library(dplyr)
Inventory <- data.frame(
Age = c(90, 120, 270, 365, Inf),
Demand = c(0, 5000, 25, 5000, 10),
Supply = c(4000, 50, 4000, 300, 0))
View(Inventory)
Run Code Online (Sandbox Code Playgroud)
我期待的结果是:
Result <- Inventory
Result$Start = c(0, 4000, 0, 3975, 0)
Result$In = c(4000, 50, 4000, 300, 0)
Result$Out = c(0, 4050, 25, 4275, 0)
Result$End = c(4000, 0, 3975, 0, 0)
Result$Short = c(0, 950, 0, 725, 10) …Run Code Online (Sandbox Code Playgroud)