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