Cara menggunakan fungsi dist di r (dengan contoh)


Fungsi dist() di R dapat digunakan untuk menghitung matriks jarak, yang menampilkan jarak antar baris dalam matriks atau bingkai data.

Fungsi ini menggunakan sintaks dasar berikut:

dist(x, metode=”Euclidean”)

Emas:

  • x: nama matriks atau blok data.
  • metode: Pengukuran jarak yang akan digunakan. Standarnya adalah “Euclidean”, tetapi opsinya mencakup “maksimum”, “manhattan”, “canberra”, “biner”, atau “minkowski”.

Contoh berikut menunjukkan cara menggunakan fungsi ini dalam praktik dengan kerangka data berikut:

 #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

Contoh 1: Gunakan dist() untuk menghitung jarak Euclidean

Jarak Euclidean antara dua vektor A dan B dihitung sebagai berikut:

Jarak Euclidean = √ Σ(A i -B i ) 2

Kode berikut menunjukkan cara menghitung matriks jarak yang menunjukkan jarak Euclidean antara setiap baris matriks di R:

 #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

Berikut cara menafsirkan hasilnya:

  • Jarak Euclidean antara garis a dan garis b adalah 4.795832 .
  • Jarak Euclidean antara garis a dan garis c adalah 10.148892 .
  • Jarak Euclidean antara garis a dan garis d adalah 3.872983 .
  • Jarak Euclidean antara garis b dan garis c adalah 6.000000 .
  • Jarak Euclidean antara garis b dan garis d adalah 8.124038 .
  • Jarak Euclidean antara garis c dan garis d adalah 13.190906 .

Contoh 2: Gunakan dist() untuk menghitung jarak maksimum

Jarak maksimum antara dua vektor, A dan B, dihitung sebagai selisih maksimum antara semua elemen yang berpasangan.

Kode berikut menunjukkan cara menghitung matriks jarak yang menampilkan jarak maksimum antara setiap baris matriks di R:

 #calculate Maximum distance between each row in matrix
dist(mat, method=" maximum ")

  ABC
b 3    
c 7 4  
d 3 5 8

Contoh 3: Gunakan dist() untuk menghitung jarak dari Canberra

Jarak Canberra antara dua vektor A dan B dihitung sebagai berikut:

Jarak dari Canberra = Σ |A i -B i | / | AI | + | Ya ampun |

Kode berikut menunjukkan cara menghitung matriks jarak yang menunjukkan jarak Canberra antara setiap baris matriks di R:

 #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

Contoh 4: Gunakan dist() untuk menghitung jarak biner

Jarak biner antara dua vektor, A dan B, dihitung sebagai proporsi elemen yang dimiliki oleh kedua vektor tersebut.

Kode berikut menunjukkan cara menghitung matriks jarak yang menunjukkan jarak biner antara setiap baris matriks di R:

 #calculate Binary distance between each row in matrix
dist(mat, method=" binary ")

  ABC
b 0    
c 0 0  
d 0 0 0

Contoh 5: Gunakan dist() untuk menghitung jarak Minkowski

Jarak Minkowski antara dua vektor A dan B dihitung sebagai berikut:

Jarak Minkowski = (Σ| ai – b i | p ) 1/p

dimana i adalah elemen ke- i dari setiap vektor dan p adalah bilangan bulat.

Kode berikut menunjukkan cara menghitung matriks jarak yang menunjukkan jarak Minkowski (menggunakan p=3) antara setiap baris matriks di R:

 #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

Sumber daya tambahan

Cara menghitung kesamaan Jaccard di R
Cara menghitung kesamaan kosinus di R
Cara menghitung perkalian titik di R

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *