Par más cercano para cualquiera de una gran cantidad de puntos

Nos dan un gran conjunto de puntos en plano 2D. Necesitamos encontrar, para cada punto el punto más cercano dentro del conjunto. Por ejemplo, supongamos que el conjunto inicial es el siguiente:

 foo <- data.frame(x=c(1,2,4,4,10),y=c(1,2,4,4,10))

La salida debería ser así:

 ClosesPair(foo)
 2
 1
 4
 3
 3 # (could be 4 also)

¿Alguna idea?

Respuestas a la pregunta(3)

Su respuesta a la pregunta