R'de dist fonksiyonu nasıl kullanılır (örneklerle)
R’deki dist() işlevi, bir matris veya veri çerçevesindeki satırlar arasındaki mesafeleri görüntüleyen bir mesafe matrisini hesaplamak için kullanılabilir.
Bu işlev aşağıdaki temel sözdizimini kullanır:
dist(x, method=”Öklid”)
Altın:
- x: matrisin veya veri bloğunun adı.
- yöntem: Kullanılacak mesafe ölçümü. Varsayılan “Öklid”dir ancak seçenekler arasında “maksimum”, “manhattan”, “canberra”, “ikili” veya “minkowski” bulunur.
Aşağıdaki örnekler, bu işlevin pratikte aşağıdaki veri çerçevesiyle nasıl kullanılacağını gösterir:
#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
Örnek 1: Öklid mesafesini hesaplamak için dist() işlevini kullanın
İki vektör A ve B arasındaki Öklid mesafesi şu şekilde hesaplanır:
Öklid uzaklığı = √ Σ(A i -B i ) 2
Aşağıdaki kod, R’deki bir matrisin her satırı arasındaki Öklid mesafesini gösteren bir mesafe matrisinin nasıl hesaplanacağını gösterir:
#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
Sonucun nasıl yorumlanacağı aşağıda açıklanmıştır:
- A çizgisi ile b çizgisi arasındaki Öklid mesafesi 4,795832’dir .
- A çizgisi ile c çizgisi arasındaki Öklid uzaklığı 10,148892’dir .
- A çizgisi ile d çizgisi arasındaki Öklid uzaklığı 3,872983’tür .
- B doğrusu ile c doğrusu arasındaki Öklid uzaklığı 6.000000’dir .
- b doğrusu ile d doğrusu arasındaki Öklid uzaklığı 8,124038’dir .
- c doğrusu ile d doğrusu arasındaki Öklid uzaklığı 13.190906’dır .
Örnek 2: Maksimum mesafeyi hesaplamak için dist() işlevini kullanın
İki vektör (A ve B) arasındaki maksimum mesafe , tüm ikili elemanlar arasındaki maksimum fark olarak hesaplanır.
Aşağıdaki kod, R cinsinden bir matrisin her satırı arasındaki maksimum mesafeyi görüntüleyen bir mesafe matrisinin nasıl hesaplanacağını gösterir:
#calculate Maximum distance between each row in matrix dist(mat, method=" maximum ") ABC b 3 c 7 4 d 3 5 8
Örnek 3: Canberra’ya olan mesafeyi hesaplamak için dist() işlevini kullanın
İki vektör A ve B arasındaki Canberra mesafesi aşağıdaki şekilde hesaplanır:
Canberra’dan uzaklık = Σ |A i -B i | / | AI | + | Bje |
Aşağıdaki kod, R’deki bir matrisin her satırı arasındaki Canberra mesafesini gösteren bir mesafe matrisinin nasıl hesaplanacağını gösterir:
#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
Örnek 4: İkili uzaklığı hesaplamak için dist() işlevini kullanın
A ve B gibi iki vektör arasındaki ikili uzaklık , iki vektörün paylaştığı öğelerin oranı olarak hesaplanır.
Aşağıdaki kod, R’deki bir matrisin her satırı arasındaki ikili mesafeyi gösteren bir mesafe matrisinin nasıl hesaplanacağını gösterir:
#calculate Binary distance between each row in matrix dist(mat, method=" binary ") ABC b 0 c 0 0 d 0 0 0
Örnek 5: Minkowski mesafesini hesaplamak için dist() işlevini kullanın
İki vektör A ve B arasındaki Minkowski mesafesi şu şekilde hesaplanır:
Minkowski mesafesi = (Σ|a i – b i | p ) 1/p
burada i her vektörün i’inci elemanıdır ve p bir tam sayıdır.
Aşağıdaki kod, R’deki bir matrisin her satırı arasındaki Minkowski mesafesini (p=3 kullanarak) gösteren bir mesafe matrisinin nasıl hesaplanacağını gösterir:
#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
Ek kaynaklar
R’de Jaccard benzerliği nasıl hesaplanır
R’de kosinüs benzerliği nasıl hesaplanır
R’de nokta çarpım nasıl hesaplanır