我有一个时间序列和值的数据框。时间序列是从纪元开始的秒数。这是该数据框中前几个元素的样子
val = seq(1,19)
ts = seq(1342980888,1342982000,by=60)
x = data.frame(ts = ts,val = val)
head(x)
ts val
1 1342980888 1
2 1342980948 2
3 1342981008 3
4 1342981068 4
5 1342981128 5
6 1342981188 6
我想要某种间隔搜索函数,它以时间戳为输入,比如 1342980889(+1 第一行中的 ts),它应该返回 1,2(行号)作为输出。基本上,我想找到具有将输入时间戳 1342980889 括起来的时间戳的两行。虽然使用“which”相对容易做到这一点,但我怀疑“which”进行矢量扫描,因为真实的数据帧相当大我想用二进制搜索来做。非常感谢提前