Hoe manhattan-afstand in r te berekenen (met voorbeelden)
De Manhattan-afstand tussen twee vectoren, A en B , wordt als volgt berekend:
Σ|a ik – b ik |
waarbij i het i -de element van elke vector is.
Deze afstand wordt gebruikt om de ongelijkheid tussen twee vectoren te meten en wordt vaak gebruikt in veel verschillende machine learning-algoritmen .
Deze tutorial geeft enkele voorbeelden van het berekenen van de Manhattan-afstand in R.
Voorbeeld 1: Manhattan-afstand tussen twee vectoren
De volgende code laat zien hoe u een aangepaste functie maakt om de Manhattan-afstand tussen twee vectoren in R te berekenen:
#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
De Manhattan-afstand tussen deze twee vectoren blijkt 9 te zijn.
We kunnen bevestigen dat dit klopt door de afstand naar Manhattan snel met de hand te berekenen:
Σ|a ik – b ik | = |2-5| + |4-5| + |4-7| + |6-8| = 3 + 1 + 3 + 2 = 9 .
Voorbeeld 2: Manhattan-afstand tussen vectoren in een matrix
Om de Manhattan-afstand tussen meerdere vectoren in een matrix te berekenen, kunnen we de functie dist() gebruiken die in R is ingebouwd:
#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
De manier om deze uitvoer te interpreteren is:
- De Manhattan-afstand tussen vectoren a en b is 9 .
- De Manhattan-afstand tussen vectoren a en c is 19 .
- De Manhattan-afstand tussen vectoren a en d is 7 .
- De Manhattan-afstand tussen vectoren b en c is 10 .
- De Manhattan-afstand tussen vectoren b en d is 16 .
- De Manhattan-afstand tussen vectoren c en d is 26 .
Merk op dat elke vector in de matrix dezelfde lengte moet hebben.
Aanvullende bronnen
Hoe de Euclidische afstand in R te berekenen
Hoe de Mahalanobis-afstand in R te berekenen
Hoe de Minkowski-afstand in R te berekenen