¿Cómo calcular la distancia de Manhattan en R? (con ejemplos)

Actualizado el 19 de julio de 2024, por Luis Benites.

Cómo calcular la distancia de Manhattan en R (Mi software favorito)

La distancia de Manhattan entre dos vectores, A y B, se calcula como:

\sum_{i=1}^n |a_i - b_i|

Donde i es el i-ésimo elemento en cada vector.

Esta distancia se usa para medir la diferencia entre dos vectores y se usa comúnmente en muchos algoritmos de aprendizaje automático diferentes.

Este tutorial proporciona un par de ejemplos de cómo calcular la distancia de Manhattan en R.

Ejemplo 1: Distancia de Manhattan entre dos vectores

El siguiente código muestra cómo crear una función personalizada para calcular la distancia de Manhattan entre dos vectores en R:


# Crear función para calcular la distancia de Manhattan 
manhattan_dist <- function(a, b) {
    dist <- abs(a - b)
    dist <- sum(dist)
    return(dist)
}

# Definir dos vectores
a <- c(2, 4, 4, 6)
b <- c(5, 5, 7, 8)

# Calcular la distancia de Manhattan entre vectores
manhattan_dist(a, b)

[1] 9

La distancia de Manhattan entre estos dos vectores resulta ser 9.

Podemos confirmar que esto es correcto calculando rápidamente la distancia de Manhattan a mano:

\sum_{i=1}^n |a_i - b_i| = |2-5| + |4-5| + |4-7| + |6-8| = 3 + 1 + 3 + 2 = 9

Ejemplo 2: Distancia de Manhattan entre vectores en una matriz

Para calcular la distancia de Manhattan entre varios vectores en una matriz, podemos usar la función dist() incorporada en R:


# Crear cuatro vectores
a <- c(2, 4, 4, 6)
b <- c(5, 5, 7, 8)
c <- c(9, 9, 9, 8)
d <- c(1, 2, 3, 3)

# Enlazar vectores en una matriz
mat <- rbind(a, b, c, d)

# Calcular la distancia de Manhattan entre cada vector en la matriz
dist(mat, method = "manhattan")

     A    B    C
B    9   --   --
C   19   10   --
D    7   16   26

La forma de interpretar esta salida es la siguiente:

  • La distancia Manhattan entre el vector a y b es 9.
  • La distancia Manhattan entre el vector a y c es 19.
  • La distancia Manhattan entre el vector a y d es 7.
  • La distancia Manhattan entre el vector b y c es 10.
  • La distancia Manhattan entre el vector b y d es 16.
  • La distancia Manhattan entre el vector c y d es 26.

Tenga en cuenta que cada vector de la matriz debe tener la misma longitud.

Lecturas y recuros adicionales para distancia de Manhattan en R

Redactor del artículo

  • Dereck Amesquita
    Statistics content writer

    I am a Bachelor of Science in Economics gratuaded from the National University of San Agustin. I have experience in Python, R and other languages, I also have knowledge of statistics and econometrics. If you need help on some issues you can write to me.

    Ver todas las entradas

¿Te hemos ayudado?

Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:

La ayuda no cuesta nada

Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo:

Deja un comentario

La regresión logística es un método estadístico que utilizamos para ajustar un modelo de regresión cuando la variable de respuesta…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!