我有一个垂直排列(堆叠)的合并时间序列data.frame
,如下所示:
date item qty_sold
day_1 orange 0
day_2 orange 0
day_3 orange 0
day_4 orange 0
day_5 orange 5
day_6 orange 0
day_7 orange 8
day_8 orange 0
day_1 hammer 0
day_2 hammer 0
day_3 hammer 3
day_4 hammer 0
day_5 hammer 70
day_6 hammer 70
day_7 hammer 0
Day_8 hammer 80
在每个“项目的”子系列/子组中,我需要识别并删除*在观察到第一个正 qty_sold 的那一天之前的所有观察结果*。例如,对于“橙色”系列,这意味着淘汰第 1 天到第 4 天,而对于“锤子”系列,这意味着淘汰前 2 天。
(如果上面的解释不清楚):从数据集中的每个子系列中,我需要删除从 date = Day_1 到 date = Day_k 的所有天,这样对于间隔 1 中的每一天...... k qty_sold = 0,并保留 date = Day_k+1 qty_sold >= 0 的所有行)
任何人都可以就如何解决这个问题提出一个想法吗?实际数据集包含大约一百万行。除了 R 之外,我也欢迎使用 SAS 来完成此任务的建议。