So verwenden sie die dist-funktion in r (mit beispielen)
Mit der Funktion dist() in R kann eine Distanzmatrix berechnet werden, die die Abstände zwischen Zeilen in einer Matrix oder einem Datenrahmen anzeigt.
Diese Funktion verwendet die folgende grundlegende Syntax:
dist(x, method=“Euklidisch“)
Gold:
- x: der Name der Matrix oder des Datenblocks.
- Methode: Die zu verwendende Entfernungsmessung. Der Standardwert ist „Euclidean“, aber die Optionen umfassen „maximum“, „manhattan“, „canberra“, „binary“ oder „minkowski“.
Die folgenden Beispiele zeigen, wie Sie diese Funktion in der Praxis mit dem folgenden Datenrahmen verwenden:
#define 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) #row bind four vectors into matrix mat <- rbind(a, b, c, d) #view matrix mast [,1] [,2] [,3] [,4] a 2 4 4 6 b 5 5 7 8 c 9 9 9 8 d 1 2 3 3
Beispiel 1: Verwenden Sie dist(), um den euklidischen Abstand zu berechnen
Der euklidische Abstand zwischen zwei Vektoren A und B wird wie folgt berechnet:
Euklidischer Abstand = √ Σ(A i -B i ) 2
Der folgende Code zeigt, wie eine Distanzmatrix berechnet wird, die den euklidischen Abstand zwischen den einzelnen Zeilen einer Matrix in R anzeigt:
#calculate Euclidean distance between each row in matrix
dist(mat)
ABC
b4.795832
c 10.148892 6.000000
d 3.872983 8.124038 13.190906
So interpretieren Sie das Ergebnis:
- Der euklidische Abstand zwischen Linie a und Linie b beträgt 4,795832 .
- Der euklidische Abstand zwischen Linie a und Linie c beträgt 10,148892 .
- Der euklidische Abstand zwischen Linie a und Linie d beträgt 3,872983 .
- Der euklidische Abstand zwischen Linie b und Linie c beträgt 6,000000 .
- Der euklidische Abstand zwischen Linie b und Linie d beträgt 8,124038 .
- Der euklidische Abstand zwischen Linie c und Linie d beträgt 13,190906 .
Beispiel 2: Verwenden Sie dist(), um die maximale Entfernung zu berechnen
Der maximale Abstand zwischen zwei Vektoren A und B wird als maximale Differenz zwischen allen paarweisen Elementen berechnet.
Der folgende Code zeigt, wie eine Distanzmatrix berechnet wird, die den maximalen Abstand zwischen den einzelnen Zeilen einer Matrix in R anzeigt:
#calculate Maximum distance between each row in matrix dist(mat, method=" maximum ") ABC b 3 c 7 4 d 3 5 8
Beispiel 3: Verwenden Sie dist(), um die Entfernung von Canberra zu berechnen
Der Canberra-Abstand zwischen zwei Vektoren A und B wird wie folgt berechnet:
Entfernung von Canberra = Σ |A i -B i | / | KI | + | Bje |
Der folgende Code zeigt, wie eine Distanzmatrix berechnet wird, die den Canberra-Abstand zwischen den einzelnen Zeilen einer Matrix in R anzeigt:
#calculate Canberra distance between each row in matrix dist(mat, method=" canberra ") ABC b 0.9552670 c 1.5484515 0.6964286 d 1.1428571 1.9497835 2.3909091
Beispiel 4: Verwenden Sie dist(), um den binären Abstand zu berechnen
Der binäre Abstand zwischen zwei Vektoren A und B wird als Anteil der Elemente berechnet, die die beiden Vektoren gemeinsam haben.
Der folgende Code zeigt, wie eine Distanzmatrix berechnet wird, die den binären Abstand zwischen den einzelnen Zeilen einer Matrix in R anzeigt:
#calculate Binary distance between each row in matrix dist(mat, method=" binary ") ABC b 0 c 0 0 d 0 0 0
Beispiel 5: Verwenden Sie dist(), um die Minkowski-Distanz zu berechnen
Der Minkowski-Abstand zwischen zwei Vektoren A und B wird wie folgt berechnet:
Minkowski-Abstand = (Σ|a i – b i | p ) 1/p
Dabei ist i das i- te Element jedes Vektors und p eine ganze Zahl.
Der folgende Code zeigt, wie eine Distanzmatrix berechnet wird, die den Minkowski-Abstand (unter Verwendung von p=3) zwischen jeder Zeile einer Matrix in R zeigt:
#calculate Minkowski distance between each row in matrix dist(mat, method=" minkowski ", p= 3 ) ABC b 3.979057 c 8.439010 5.142563 d 3.332222 6.542133 10.614765
Zusätzliche Ressourcen
So berechnen Sie die Jaccard-Ähnlichkeit in R
So berechnen Sie die Kosinusähnlichkeit in R
So berechnen Sie das Skalarprodukt in R