查找时间间隔之间的时间计数

时间:2017-01-11 12:53:15

标签: r time time-series

我有一个时间变量说x。我的矢量类是一个字符

x <- c("06:59:20","19:13:31", "06:08:02",  "00:25:14",  "19:25:01" ,"21:21:44"
         ,"19:04:25" , "19:43:31",  "16:00:13",  "05:15:37",  "05:52:16",  "21:47:51",  "06:33:36"
        ,"06:59:29" ,"20:06:04",  "05:08:15",  "20:09:51",  "21:52:25",  "19:07:22",  "19:37:26")

我使用以下方法将其转换为时间对象

x_posix <- as.POSIXct(x, format = "%H:%M:%S")
x<- strftime(x_posix, format="%H:%M:%S")
x <- times(x)


[1] 06:59:20 19:13:31 06:08:02 00:25:14 19:25:01 21:21:44 19:04:25 19:43:31 16:00:13 05:15:37 05:52:16 21:47:51 06:33:36 06:59:29 20:06:04
[16] 05:08:15 20:09:51 21:52:25 19:07:22 19:37:26

现在我想知道任何时间间隔之间有多少值。 假设如果我想知道有多少值在6到7之间,那么我想要包括6:00:00(包括6:00:00)之间的所有值以及所有小于的值。或等于6:59:59。 R有什么方法可以完成这项任务吗?

1 个答案:

答案 0 :(得分:2)

我们可以使用

library(chron)
sum(x1 >= times("06:00:00") & x1 < times("07:00:00"))
#[1] 4

数据

x1 <- times(x)