¿Cómo calcular la distancia euclidiana en R?

La distancia euclidiana entre dos puntos en el espacio euclidiano es la longitud de un segmento de línea entre los dos puntos. Se puede calcular a partir de las coordenadas cartesianas de los puntos utilizando el teorema de Pitágoras, por lo que en ocasiones se denomina distancia de Pitágoras. La distancia euclidiana entre los dos vectores viene dada por  

√Σ(vect1i - vect2i)2

dónde,

  • vect1 es el primer vector
  • vect2 es el segundo vector

Por ejemplo, tenemos dos vectores, vect1 como (1, 4, 3, 5) y vect2 como (2, 3, 2, 4). Su distancia euclidiana está dada por, √(1 – 2) 2 + (4 – 3) 2 + (3 – 2) 2 + (5 – 4) 2    que es igual a 2. A continuación se muestra la implementación usando dos vectores de igual longitud:

Ejemplo 1:

R

# Function to calculate Euclidean distance
# Sum function calculates the sum of the 
# squares of absolute difference  between
# corresponding elements of vect1 and vect2
CalculateEuclideanDistance <- function(vect1, vect2) sqrt(sum((vect1 - vect2)^2))
  
# Initializing two vectors having equal length
vect1 <- c(2, 4, 4, 7)
vect2 <- c(1, 2, 2, 10)
  
print("Euclidean distance between vect1 and vect2 is: ")
  
# Calling CalculateEuclideanDistance function 
CalculateEuclideanDistance(vect1, vect2)

Producción:

Ejemplo 2:

R

# Function to calculate Euclidean distance
# Sum function calculates the sum of the 
# squares of absolute difference between
# corresponding elements of vect1 and vect2
CalculateEuclideanDistance <- function(vect1, vect2) sqrt(sum((vect1 - vect2)^2))
  
# Initializing two vectors having equal length
vect1 <- c(2, 3, 4, 7)
vect2 <- c(1, 2, 3, 8)
  
print("Euclidean distance between vect1 and vect2 is: ")
  
# Calling CalculateEuclideanDistance function
CalculateEuclideanDistance(vect1, vect2)

Producción:

Si los dos vectores tienen una longitud diferente, el compilador muestra un mensaje de advertencia. A continuación se muestra la implementación utilizando dos vectores que tienen una longitud diferente.

Ejemplo 3:

R

# Function to calculate Euclidean distance
# Sum function calculates the sum of the 
# squares of absolute difference between
# corresponding elements of vect1 and vect2
CalculateEuclideanDistance <- function(vect1, vect2) sqrt(sum((vect1 - vect2)^2))
  
# Initializing two vectors having equal length
vect1 <- c(4, 3, 4, 8)
vect2 <- c(3, 2, 3, 1, 2)
  
print("Euclidean distance between vect1 and vect2 is: ")
  
# Calling CalculateEuclideanDistance function 
CalculateEuclideanDistance(vect1, vect2)

Producción:

Como puede ver en la salida, el compilador nos da una advertencia ya que la longitud de vect1 es más corta que la de vect2.

Ejemplo 4:

R

# Function to calculate Euclidean distance
# Sum function calculates the sum of the
# squares of absolute difference between
# corresponding elements of vect1 and vect2
CalculateEuclideanDistance <- function(vect1, vect2) sqrt(sum((vect1 - vect2)^2))
  
# Initializing two vectors having equal length
vect1 <- c(1, 7, 1, 3, 10, 15 )
vect2 <- c(3, 2, 10, 11 )
  
print("Euclidean distance between vect1 and vect2 is: ")
  
# Calling CalculateEuclideanDistance function 
CalculateEuclideanDistance(vect1, vect2)

Producción:

Como puede ver en la salida, el compilador nos da una advertencia ya que la longitud de vect2 es más corta que la de vect1.

Publicación traducida automáticamente

Artículo escrito por bhuwanesh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *