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

Einen Kommentar hinzufügen

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