我想为每个组创建一个时间间隔周期,我的时间格式是数字格式。假设我想从第一条记录开始间隔1小时,在1小时内的每条记录都将是interval 1
,从第一条记录开始间隔1小时后小于2小时的任何记录都将是interval 2
,依此类推(对于每个user
组)。
从技术上讲,我正在寻找创建一个小时的垃圾箱从一开始。
df<-read.table(text="
user timestart
1 1421286975
1 1421287343
1 1421470513
1 1421470513
1 1421471816
1 1421806839
2 1424217068
2 1424217150
2 1424218395",header=T,stringsAsFactors = F)
# result: (might not 100% accurate but you get the point)
user timestart interval_1h
1 1421286975 1
1 1421287343 1
1 1421470513 2
1 1421470513 2
1 1421471816 2
1 1421806839 3
2 1424217068 1
2 1424217150 1
2 1424218395 1
2条答案
按热度按时间9udxz4iz1#
对我来说,这个问题有两种解释,下面是两种解释的解决方案,我们使用
dplyr
来获得想要的输出:1.第一种解释创建了一个输出,该输出类似于所显示的输出,但与您的实际问题相矛盾:
这将返回
1.第二个方法获取每个用户的第一个
timestart
,并创建1小时的时隙,每个后续时间戳被分配给其中一个时隙,并基于这些时隙创建组。这只回来了
数据
我添加了一个数据点以获得更好的示例数据
t9aqgxwy2#
考虑一些具有对
ave
的多次调用的helper列: