は、私は5つの区間の開始時刻と終了時刻を示している。このようなDFがあるとこれらの間隔:ベクトルの番号にインターバル番号を割り当てる
x = c(120.485, 326.019, 329.089, 337.564, 337.897, 340.133, 451.142,
456.046, 456.213, 456.847, 458.549, 459.15, 459.416, 459.517,
462.319, 464.788, 469.626, 590.345, 597.985, 598.152, 599.353,
600.421, 601.756, 602.523, 602.857, 603.291, 603.758, 604.926,
605.96, 606.827, 607.161, 608.362, 608.629, 609.764, 610.331,
610.998, 611.098, 611.165, 617.004, 778.896, 781.065, 782.299,
782.9, 783.2, 783.5, 783.934, 785.336, 785.669, 787.771, 789.039,
789.606, 790.207, 791.642, 792.409, 797.714, 1014.59, 1015.29,
1015.69, 1016.13, 1016.83, 1017.1, 1017.26, 1019.1, 1019.36,
1019.5, 1019.83, 1020.77, 1021.2, 1022.4, 1022.8, 1023.14, 1023.84,
1023.94, 1024.44, 1024.97, 1025, 1026.91, 1026.97, 1027.74, 1028.27,
1029.17, 1029.71, 1029.81, 1032.01, 1032.11, 1033.31, 1035.35,
1035.68, 1036.75, 1038.28)
私は全ての区間外のベクトルx iの値があるかどうかを宣言する別のベクトル)を生成したい、または、ii)それが内部にある間隔ました。
私はfindInterval
を使用する方法について考えて、次のように開始しました:
y <- c(rbind(df$start, df$end)) #get a vector of start-end-start-end etc times
findInterval(x, y)
出力は次のようなものです:
[1] 0 1 1 1 1 2 3 3 3 3 3 3 3 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 7 7 7
[43] 7 7 7 7 7 7 7 7 7 7 7 7 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
[85] 9 9 9 9 9 10
私は生産指数= 0結果の間隔位置を動作するようにこれを処理できますfindInterval
によってそれが最良の方法であるとは思われません。より良い方法がありますか?
時刻が開始時刻または終了時刻と同じ場合は、その間隔に属していると見なす必要があります。 findInterval
はこれを行うようには思われません。 xの最後の値は1038.28ですが、新しい間隔であるとみなされます。私はそれがinterval = 5に属するものとして割り当てられることを望みます。
間隔で表示されないxの値は、NAを取得する必要があります。ここで
しかし、出力には5つの間隔しかありません。 – DatamineR
"rightmost.closed = TRUE"が必要な場合があります –