R:найти ближайший индекс

У меня есть два вектора с несколькими тысячами точек, но здесь они обобщены:

A <- c(10, 20, 30, 40, 50)
b <- c(13, 17, 20)

Как я могу получить индексы A, которые являются ближайшими к b? Ожидаемый результат будет c(1, 2, 2).

Я знаю, что findIntervalможет найти только первое вхождение, а не ближайшее, и я знаю, что which.min(abs(b[2] - A))становится теплее, но я не могу понять, как его векторизовать для работы с длинными векторами как A, так и b.

7
задан Mike T 5 October 2017 в 00:08
поделиться