R - 计算每天每15分钟的总行数

时间:2014-07-14 05:05:24

标签: r date

我有一个如下所示的数据框:

date  
2014-06-18 03:44:29   
2014-06-18 03:54:23  
2014-06-18 03:50:56   
2014-06-18 03:49:46   
2014-06-19 01:01:10   
2014-06-19 00:56:53   
2014-06-19 00:57:26   
2014-06-19 00:53:47   
2014-06-19 01:44:59   
2014-06-19 01:48:55  
2014-06-19 01:45:16     

它是一个包含数千行的数据框。我需要计算每天每15分钟的总行数。我需要这样的东西:

date                                            count
2014-06-18 03:00:00 - 2014-06-18 03:15:00        2  
2014-06-18 03:15:00 - 2014-06-18 03:30:00        5  
2014-06-19 01:45:00 - 2014-06-19 02:00:00        15  
2014-06-19 02:00:00 - 2014-06-19 02:15:00        5

有没有办法在R中轻松完成这项工作?非常感谢任何帮助。

感谢。

1 个答案:

答案 0 :(得分:2)

首先,确保您的值格式正确为POSIX日期/时间值。

dd <- c("2014-06-18 03:44:29", "2014-06-18 03:54:23", "2014-06-18 03:50:56", 
"2014-06-18 03:49:46", "2014-06-19 01:01:10", "2014-06-19 00:56:53", 
"2014-06-19 00:57:26", "2014-06-19 00:53:47", "2014-06-19 01:44:59", 
"2014-06-19 01:48:55")
dt <- strptime(dd, format="%Y-%m-%d %H:%M:%S")

然后,由于POSIX日期/时间存储为自1970-01-01以来的秒数,您可以使用

舍入到最近的15分钟间隔
round15 <- dt-(as.numeric(dt) %% (60*15))

然后使用

对事件进行舍入
table(round15)