Hoe de euclidische afstand in r te berekenen (met voorbeelden)


De Euclidische afstand tussen twee vectoren A en B wordt als volgt berekend:

Euclidische afstand = √ Σ(A i -B i ) 2

Om de Euclidische afstand tussen twee vectoren in R te berekenen, kunnen we de volgende functie definiëren:

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

We kunnen deze functie vervolgens gebruiken om de Euclidische afstand tussen twee vectoren te vinden:

 #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
euclid(a, b)

[1] 12.40967

De Euclidische afstand tussen de twee vectoren blijkt 12,40967 te zijn.

Merk op dat we deze functie ook kunnen gebruiken om de Euclidische afstand tussen twee kolommen van een dataframe te berekenen:

 #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
euclid(df$a, df$d)

[1] 7.937254

Merk op dat deze functie een waarschuwingsbericht zal produceren als de twee vectoren niet dezelfde lengte hebben:

 #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
euclid(a, b)

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

U kunt deze Wikipedia-pagina raadplegen voor meer informatie over de Euclidische afstand.

Aanvullende bronnen

Hoe de afstand van Manhattan in R te berekenen
Hoe de Minkowski-afstand in R te berekenen
Hoe de Hamming-afstand in R te berekenen
Hoe de Mahalanobis-afstand in R te berekenen
Hoe de Levenshtein-afstand in R te berekenen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert