時系列と値のデータ フレームがあります。時系列はエポックからの秒数です。そのデータフレームで上位のいくつかの要素がどのように見えるかを次に示します
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 (最初の行の ts の +1) を入力として取り、出力として 1,2 (行番号) を返す、ある種の間隔検索関数が必要です。基本的に、入力タイム スタンプ 1342980889 を囲むタイム スタンプを持つ 2 つの行を見つけたいと考えています。これは「which」を使用して比較的簡単に行うことができますが、「which」はベクトル スキャンを実行し、実際のデータ フレームはかなり二分探索を使ってやりたい。よろしくお願いします