Como calcular a distância de manhattan em r (com exemplos)


A distância de Manhattan entre dois vetores, A e B , é calculada da seguinte forma:

Σ|a i – b i |

onde i é o i- ésimo elemento de cada vetor.

Essa distância é usada para medir a dissimilaridade entre quaisquer dois vetores e é comumente usada em muitos algoritmos de aprendizado de máquina diferentes.

Este tutorial fornece alguns exemplos de cálculo da distância de Manhattan em R.

Exemplo 1: distância de Manhattan entre dois vetores

O código a seguir mostra como criar uma função personalizada para calcular a distância de Manhattan entre dois vetores em R:

 #create function to calculate Manhattan distance
manhattan_dist <- function (a, b){
     dist <- abs (ab)
     dist < -sum (dist)
     return (dist)
}

#define two vectors
a <- c(2, 4, 4, 6)

b <- c(5, 5, 7, 8)

#calculate Manhattan distance between vectors
manhattan_dist(a, b)

[1] 9

A distância de Manhattan entre esses dois vetores é 9 .

Podemos confirmar que isso está correto calculando rapidamente a distância até Manhattan manualmente:

Σ|a i – b i | = |2-5| + |4-5| + |4-7| + |6-8| = 3 + 1 + 3 + 2 = 9 .

Exemplo 2: Distância de Manhattan entre vetores em uma matriz

Para calcular a distância de Manhattan entre vários vetores em uma matriz, podemos usar a função dist() incorporada em R:

 #create four vectors
a <- c(2, 4, 4, 6)

b <- c(5, 5, 7, 8)

c <- c(9, 9, 9, 8)

d <- c(1, 2, 3, 3)

#bind vectors into one matrix
mat <- rbind(a, b, c, d)

#calculate Manhattan distance between each vector in the matrix
dist(mat, method = " manhattan ")

   ABC
b 9      
c 19 10   
d 7 16 26

A maneira de interpretar esta saída é:

  • A distância de Manhattan entre os vetores a e b é 9 .
  • A distância de Manhattan entre os vetores a e c é 19 .
  • A distância de Manhattan entre os vetores a e d é 7 .
  • A distância de Manhattan entre os vetores b e c é 10 .
  • A distância de Manhattan entre os vetores b e d é 16 .
  • A distância de Manhattan entre os vetores c e d é 26 .

Observe que cada vetor na matriz deve ter o mesmo comprimento.

Recursos adicionais

Como calcular a distância euclidiana em R
Como calcular a distância de Mahalanobis em R
Como calcular a distância de Minkowski em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *