Merhaba,
Uzun zamandır uslumetin@gmail.com ve veribilimci@gmail.org mail adreslerime gelen soruları (anlayabildiğim ve anlatabildiğim ölçüde) cevaplamaya çalışıyorum. Bu cevapların da daha fazla kişiye ulaşmasını istediğim için cevapladığım sorulara ilişkin yazdığım küçük kodları da buradan paylaşmak istedim. O zaman ilk soru ile başlıyoruz: R ile Öklid Uzaklığı hesaplayacak bir fonksiyon yazalım.
Öklid Uzaklığı (Euclidean Distance)
Öncelikle Öklid Uzaklığı Nedir? ile başlayalım. İki nokta arasındaki doğrusal uzaklığı hesaplamak istediğimizde kullandığımız metotlardan birisidir. Geometri derslerinden kendileri tanıyoruz.
Tek, iki ve üç boyutta öklid uzaklıkları hesaplanabilir. Genel olarak aşağıdaki gibi formülize edilmektedir.
Hatta bir yüksek lisans mülakatında iki vektör verilip aralarındaki uzaklığı yani Öklid uzaklığını hesaplamamızı ve kodlamamızı sorduklarını hatırlıyorum.
Bize gönderilen sorumuza bakalım:
Verilen X ve Y vektörlerine ait öklid uzaklığı bir fonksiyon olarak R üzerinde kodlayınız.

Kodlama için R istatistiksel programlama dili (Ver.: 3.5.2) ve R Studio (Ver.: 1.1.463) üzerinde geliştireceğiz.
R Konsolumuzu ve (eğer var ise) mevcut değişkenleri temizliyoruz.
# Clean the System & Console Variable --------------------
rm(list = ls())
cat("\014")
options(warn = -1)
oklid_distance fonksiyonumuzu tanımlıyoruz.
oklid_distance <- function(x_koordinat, y_koordinat) {
df <- data.frame(matrix(ncol = length(x_koordinat), nrow = length(y_koordinat)))
column <- c("k1", "k2", "k3", "k4", "k5")
row <- c("k1", "k2", "k3", "k4", "k5")
colnames(df) <- column
rownames(df) <- row
for (i in 1:length(x_koordinat)){
for (j in 1:length(y_koordinat)){
if(i==j){
d = 0
df[i,j] = d
} else {
d = sqrt( (x_koordinat[j]-x_koordinat[i])^2 + (y_koordinat[j]-y_koordinat[i])^2 )
df[i,j] = d
}
}
}
return(df)
}
X ve Y verktörleri set edip, oklid_distance fonksiyonumuzu çağırıyoruz.
x_koordinat <- c(40,25,15,15,10)
y_koordinat <- c(50,85, 75,80, 35)
df <- oklid_distance(x_koordinat, y_koordinat)
Sonuçlara Bakalım:
print(df)

İlk Soru-Cevap yazımız burada sona eriyor. Soru-Cevap repositorisine buradan ve ilgili kod parçacığına buradan ulaşabilirsiniz. Soru, görüş ve önerileriniz için bana uslumetin@gmail.com mail adresimden ulaşabilirsiniz.
Görüşmek üzere, Selamlar ✋