【发布时间】:2020-02-20 14:05:55
【问题描述】:
想象一下以下数据帧的 sn-p:
ID ActivityName Time Type Shape
1 1 Request 0.000 Type_1 767
2 1 Request 600.000 Type_1 767
3 1 Start 600.000 Type_1 1376
4 1 Start 600.000 Type_1 1376
5 1 Delay 2962.295 Type_1 1022
6 1 Schedule Activities 600.000 Type_1 15
7 1 Schedule Activities 2062.295 Type_1 15
我要做的是根据 ActivityName 中的重复条目创建两个新列。
具体来说,我想将同一活动的两个后续行合并为一行,并带有开始和完成时间戳(从时间开始,以秒为单位)。
鉴于并非 ActivityName 中的所有条目都有匹配的第二个条目(但是,最多两个连续条目相同),我还想删除这样的行,如 Delay 在这种情况下。
它应该看起来像:
ID ActivityName StartTime EndTime Type Shape
1 1 Request 0.000 600.000 Type_1 767
2 1 Start 600.000 600.000 Type_1 1375
3 1 Schedule Activities 600.000 2062.295 Type_1 15
ActivityName 中的所有类别在该列中出现多次。我希望不要比较它们的关联时间,而不是跨越整个列,只比较那些连续两次相同出现的。
我们将不胜感激任何有关如何解决此问题的想法。
【问题讨论】:
-
拥有可重复的数据将帮助您获得答案。您可以使用 dput 函数来提供帮助。
-
@Alex - 我刚刚看到你之前的问题看起来与这个问题相同。它可能有助于用更完整的示例修改您的问题,其中其他解决方案失败,并提供所需的结果。例如,您可以添加单站行的示例吗?以及之前的解决方案对您不起作用的其他情况?