Tengo dos vectores con unos pocos miles de puntos, pero generalicé aquí:R: encontrar el índice más cercana
A <- c(10, 20, 30, 40, 50)
b <- c(13, 17, 20)
¿Cómo puedo obtener los índices del A
de que son más cercana-b
? El resultado esperado sería c(1, 2, 2)
.
sé que findInterval
sólo puede buscar el primer caso, y no el más cercano, y estoy consciente de que which.min(abs(b[2] - A))
se está calentando, pero no puedo encontrar la manera de vectorizar para trabajar con vectores largos de ambos A
y b
.
Tenga en cuenta que 'which.min()' solo devuelve la primera coincidencia. Puede haber otros elementos que estén igualmente cercanos. –