检测r中的时间间隔并相应地计算数据

时间:2016-05-11 09:12:08

标签: r

我有一个数据帧temp,如下所示:

<button type="button" onclick="clickHandler(123);">Click me</button>

The Time最初是一个ISODate我是否使用下面的代码将其剥离以获得时间,这就是我想要的。

Time       Count       Colour  
01:02:30  11.000000       Red  
17:05:49  52.000000       White  
04:06:07   4.000000       Blue  
01:07:03  30.000000       Red  
20:08:30   4.000000       Yellow

数据中的时间之间存在差距。我希望在差距后一小时和差距前一小时找出行。例如,凌晨1点之后有3个小时的间隙,所以我希望在上午12点到1点以及上午4点到5点找到这些行。如何检测间隙并从我的数据框中获取所需的行?

还要在上午12点到凌晨1点之间获取行,我该怎么办? 这似乎不起作用!

temp$Time = parse_iso_8601(temp$Time)  
temp$Time <- as.POSIXlt(temp$Time)  
library(chron)  
temp$Time=times(format(temp$Time, format="%H:%M:%S"))

1 个答案:

答案 0 :(得分:0)

将时间转换为chron后,您可以执行以下比较:

temp[temp$Time >= times("00:00:00", format=c('h:m:s')) & temp$Time <= times("01:00:00", format=c('h:m:s')), ]

在您发布的示例中,00:00和01:00之间没有时间,这是从1:00到2:00的示例:

> temp[temp$Time >= times("01:00:00", format=c('h:m:s')) & temp$Time <= times("02:00:00", format=c('h:m:s')), ]
      Time Count Colour
1 01:02:30    11    Red
4 01:07:03    30    Red

希望它有所帮助。