2017-10-20 86 views
2

我在数据框中有数据,其中行按时间戳组织。我需要从每行读取该行的时间戳1小时,然后计算1小时内的行数。我试图zoowindow但看起来它与Date类型不time-stamp计算两个时间戳之间的行数

我的数据看起来像工作:

Timestamp X 
1/9/2015 0:00 1 
1/9/2015 0:30 2 
1/9/2015 1:10 3 
1/9/2015 1:30 4 
1/9/2015 2:20 5 
1/9/2015 2:30 6 
1/9/2015 3:15 7 
1/9/2015 3:30 8 
1/9/2015 4:00 9 
1/9/2015 4:30 10 
1/9/2015 5:01 11 

结果应该是这样的:

Timestamp X row_count 
1/9/2015 0:00 1 0 
1/9/2015 0:30 2 1 
1/9/2015 1:10 3 1 
1/9/2015 1:30 4 2 
1/9/2015 2:20 5 1 
1/9/2015 2:30 6 2 
1/9/2015 3:15 7 2 
1/9/2015 3:30 8 2 
1/9/2015 4:00 9 2 
1/9/2015 4:30 10 2 
1/9/2015 5:01 11 2 

感谢您提前任何建议。


编辑:我问了后续问题here

回答

4

假设你有一个data.frame

library(data.table) 
setDT(dt) 

dt[.(Timestamp = Timestamp - 1*60*60, X = X), on = 'Timestamp', roll = -Inf, 
    i.X - X] 
# [1] 0 1 1 2 1 2 2 2 2 2 1 
+0

谢谢EDDI。的确我使用'data.frame'和一种新的以'data.table'。感谢您的帮助 – CARTman

相关问题