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

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir