【发布时间】:2013-07-06 22:28:15
【问题描述】:
我有一个垂直排列(堆叠)的池化时间序列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 的那一天之前的所有观察结果*。例如,对于“orange”系列,这意味着删除第 1 天到第 4 天,对于“hammer”系列,这意味着删除前 2 天。
(如果上面的解释不清楚): 从数据集中的每个子系列中,我需要删除从 date = Day_1 到 date = Day_k 的所有日期,这样对于间隔 1...k qty_sold = 0 中的每一天,并保留 date 所在的所有行= Day_k+1 qty_sold >= 0)
任何人都可以就如何解决这个问题提供一个想法吗?实际数据集包含大约一百万行。除了 R 之外,我也欢迎使用 SAS 完成此任务的建议。
【问题讨论】:
-
StackOverflow 通常用于帮助处理您已经编写过的代码,但无法正常工作。我们通常不希望在您仅描述问题和请求代码的情况下使用 Q。
-
@joran - 除非它被标记为 regex... 在这种情况下,开火吧!
标签: r dataframe sas split-apply-combine