我有一个如下所示的数据框:
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中轻松完成这项工作?非常感谢任何帮助。
感谢。
答案 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)