【发布时间】:2017-05-29 10:53:05
【问题描述】:
我之前发布过这个问题的解释很糟糕,所以我删除了它并重试这个问题。我还更新了示例以更简洁。
我有以下带有事件的案例的玩具数据集。它包括案例 ID、案例开始日期、事件日期、事件类型和事件值。它包含两个案例(C1 和 C2)和两个事件类型(A 和 B)。在真实数据中,我有 1000 个案例和 100 个事件。
ID CaseDate EventDate Etype Value
C1 2017-01-01 2017-01-01 A 1
C1 2017-01-01 2017-01-04 A 2
C1 2017-01-01 2017-01-11 A 3
C1 2017-01-01 2017-01-13 B 1
C1 2017-01-01 2017-01-15 B 2
C1 2017-01-01 2017-02-01 A 5
C1 2017-01-01 2017-02-04 A 6
C2 2017-01-03 2017-02-10 B 3
C2 2017-01-03 2017-02-11 B 1
C2 2017-01-03 2017-02-26 A 1
C2 2017-01-03 2017-02-27 A 1
C2 2017-01-03 2017-02-28 B 4
我的任务是按5 天的时间段 AND 事件类型汇总(求和)这些值。 诀窍在于 5 天的期限是从特定的案例开始日期开始。因此,对于 C1,它将是从 2017-01-01 到 2017-01-05(第 1 期)和 2017-01-06 到 2017-01-10(第 2 期)等等。
对于 C2,它将是从 2017-01-03 到 2017-01-07(第 1 期)和 2017-01-08 到 2017-01-12(第 2 期)等等。
最终我想得到如下结果集:
ID Period Etype Sum
C1 1 A 3
C1 1 B 0
C1 2 A 0
C1 2 B 0
C1 3 A 3
C1 3 B 3
C1 4 A 0
C1 4 B 0
C1 5 A 0
C1 5 B 0
C1 6 A 0
C1 6 B 0
C1 7 A 0
C1 7 B 0
C1 8 A 11
C1 8 B 0
C2 1 A 0
C2 1 B 0
C2 2 A 0
C2 2 B 4
C2 3 A 0
C2 3 B 0
C2 4 A 0
C2 4 B 0
C2 5 A 2
C2 5 B 0
C2 6 A 0
C2 6 B 4
C2 7 A 0
C2 7 B 0
C2 8 A 0
C2 8 B 0
我已经尝试了所有我能找到的答案,但没有一个符合要求。我曾尝试使用 xts 包和 lubridate 以及 dplyr 无济于事。任何帮助都会很有价值!
干杯
【问题讨论】:
-
您应该将问题标记为已回答,否则它将保留在未回答问题类别中。选择您最喜欢的解决方案。
-
谢谢,我很清楚这一点,我正忙于更多的测试,一旦我决定要使用哪一个,我就会选择最好的。目前我正在解决内存问题 - 所以你可以理解,如果我用完了 64Gb,我将无法在几分钟内选择一个。
标签: r