【发布时间】:2020-08-29 00:52:53
【问题描述】:
我有一些带有时间戳的 ID 表现出我无法控制的行为。这会导致相同 ID 的新行,但给定 ID 的第一行的 end_time 与同一 ID 的下一行的 start_time 匹配。一个示例如下所示:
df <- data.frame(id = c("1", "1", "1", "2", "3", "3"),
start_time = c("7/4/2020 10:06:27", "7/16/2020 07:16:44", "7/16/2020 07:20:32", "7/9/2020 03:27:37", "7/4/2020 02:01:49", "7/9/2020 00:00:00"),
end_time = c("7/16/2020 07:16:44", "7/16/2020 07:20:32", "7/25/2020 18:17:46", "7/21/2020 20:13:16", "7/5/2020 09:17:54", "7/11/2020 15:43:22"))
> df
id start_time end_time
1 1 7/4/2020 10:06:27 7/16/2020 07:16:44
2 1 7/16/2020 07:16:44 7/16/2020 07:20:32
3 1 7/16/2020 07:20:32 7/25/2020 18:17:46
4 2 7/9/2020 03:27:37 7/21/2020 20:13:16
5 3 7/4/2020 02:01:49 7/5/2020 09:17:54
6 3 7/9/2020 00:00:00 7/11/2020 15:43:22
但我想将 id = 1 的时间戳(以及其他可能表现出这种行为的行)“缝合”在一起,形成一个不同的行,如下所示。请注意此 id 的 end_time 和 start_time 条目是如何匹配的。
> df
id start_time end_time
1 1 7/4/2020 10:06:27 7/25/2020 18:17:46
2 2 7/9/2020 03:27:37 7/21/2020 20:13:16
3 3 7/4/2020 02:01:49 7/5/2020 09:17:54
4 3 7/9/2020 00:00:00 7/11/2020 15:43:22
id = 3 的条目是合适的,因为第一个实例的 end_time 是从第二个实例的开始时间开始的实例,因此期望的行为是这些行保持不变
【问题讨论】: