Acabei de descobrir que Spatstat tem uma função crossdist .
Descrição
Calcula as distâncias entre pares de 'itens' obtidos de dois conjuntos de dados diferentes.
Ele usa dois padrões de pontos X e Y como entradas e retorna a matriz cuja entrada [i, j] é a distância de X [i] a Y [j]. Para obter os segundos vizinhos mais próximos usando crossdist:
xdistances <- crossdist(X, Y) #Get all cross distances
nn = numeric()
for (i in 1:nrow(X)) {
xdistance <- sort(xdistances[i,], partial=2)[2]
nn <- append(nn, xdistance)
}
Sei que já aceitei a resposta de Spacedman, mas gostaria de compartilhar como fiz de outra maneira.