Comment calculer la distance euclidienne dans R (avec exemples)



La distance euclidienne entre deux vecteurs A et B est calculée comme suit :

Distance euclidienne = √ Σ(A i -B i ) 2

Pour calculer la distance euclidienne entre deux vecteurs dans R, on peut définir la fonction suivante :

euclidean <- function(a, b) sqrt(sum((a - b)^2))

Nous pouvons ensuite utiliser cette fonction pour trouver la distance euclidienne entre deux vecteurs quelconques :

#define two vectors
a <- c(2, 6, 7, 7, 5, 13, 14, 17, 11, 8)
b <- c(3, 5, 5, 3, 7, 12, 13, 19, 22, 7)

#calculate Euclidean distance between vectors
euclidean(a, b)

[1] 12.40967

La distance euclidienne entre les deux vecteurs s’avère être de 12,40967 .

Notez que nous pouvons également utiliser cette fonction pour calculer la distance euclidienne entre deux colonnes d’un bloc de données :

#define data frame
df <- data.frame(a=c(3, 4, 4, 6, 7, 14, 15),
                 b=c(4, 8, 8, 9, 14, 13, 7),
                 c=c(7, 7, 8, 5, 15, 11, 8),
                 d=c(9, 6, 6, 7, 6, 15, 19))

#calculate Euclidean distance between columns a and d
euclidean(df$a, df$d)

[1] 7.937254

Notez que cette fonction produira un message d’avertissement si les deux vecteurs ne sont pas de même longueur :

#define two vectors of unequal length
a <- c(2, 6, 7, 7, 5, 13, 14)
b <- c(3, 5, 5, 3, 7, 12, 13, 19, 22, 7)

#attempt to calculate Euclidean distance between vectors
euclidean(a, b)

[1] 23.93742
Warning message:
In a - b : longer object length is not a multiple of shorter object length

Vous pouvez vous référer à cette page Wikipédia pour en savoir plus sur la distance euclidienne.

Ressources additionnelles

Comment calculer la distance de Manhattan en R
Comment calculer la distance de Minkowski en R
Comment calculer la distance de Hamming en R
Comment calculer la distance de Mahalanobis en R
Comment calculer la distance de Levenshtein en R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *