У меня есть вопрос о поиске и поиске значений из кадров данных в R. Предположим, что у меня есть кадр данных с целым рядом разных столбцов и что есть раздел в данных рамки, такие как:Поиск самых близких значений в кадре данных
Instrument | Time | Microsecond
-------------------------------------------
.... | .... | ....
-------------------------------------------
ABC | 10:32:40 | 420
-------------------------------------------
ABC | 10:32:40 | 422
-------------------------------------------
.... | .... | ....
Теперь, давайте также сказать, например, что у меня есть значения/строки в виде:
Время: 10:32:40
микросекундным: 421
В принципе, мне было интересно, есть ли функция или метод в R (или в пакете data.table
), что позволило бы мне использовать информацию Time и Microsecond для поиска в кадре данных, чтобы он находил ближайшее «меньшее» значение (или значение, равное) значениям времени и микросекунды. Например, для Time: 10:32:40 и Microsecond: 421 информация, которую я дал, ближайшим более низким значением в кадре данных будет Time: 10:32:40 и Microsecond: 420.
Кроме того, я хотел бы найти самое близкое «верхнее» значение (или значение, равное) в кадре данных, которое (для примера приведенного выше кадра данных) было бы Time: 10:32:40 и Microsecond: 422.
Наконец, Я хотел бы найти ближайшее нижнее/верхнее значение или (значение, равное) информации, которую я имею. То, что я подразумеваю под «значением, равным», является то, что если бы в кадре данных была строка, которая была точно равна информации, которую я имею (т.е. Time: 10:32:40 и Microsecond: 421), то я хотел бы использовать это вместо того, чтобы использовать «самые близкие» значения, чтобы выразить это прямо, если информация о строках в кадре данных точно такая же, как и информация, которая у меня есть, которая имеет более высокий приоритет для меня по сравнению с «ближайшими» значениями.
Следует также отметить, что я хочу, чтобы в ближайшем столбце «Время» можно было найти самые близкие значения в столбце «Микросекунда», так как мне может потребоваться округлить значения в столбце «Время» ,
Есть функция или способ, которые могут это сделать? Если то, что я сказал, не ясно, пожалуйста, дайте мне знать.
Выполните поиск здесь, в Stackoverflow для 'data.table' 'roll join' или 'non-equi joins' - я думаю, что это может быть полезно для вас. Например. - http://stackoverflow.com/questions/32634923/data-table-rolling-join-within-range – thelatemail
Спасибо, я проверю это сейчас! – ThePlowKing