У меня есть два вектора с несколькими тысячами точек, но здесь они обобщены:
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
.