R Basit Veri Analiz Fonksiyonları Uygulaması: Gerçek Hayat Senaryosu

Önceki dersimizde mean, max, min gibi fonksiyonların ne işe yaradığını basit sayı dizileriyle öğrenmiştik. Ancak gerçek hayatta (Real World Application) işler biraz daha farklıdır. Genellikle binlerce satırdan oluşan veri setleri üzerinde çalışırız.

Bu yazımızda, Kaggle’dan indirdiğimiz Deprem Verisi (Earthquake Data) üzerinde analizler yapacağız. Özellikle sıkça karıştırılan ancak çok güçlü olan which.max() fonksiyonunun mantığını kavrayacağız.

1. Veriyi İçeri Aktarma ve Hazırlık

İlk adımımız her zamanki gibi veriyi R ortamına almaktır. Dosya yolunu (path) doğru yazdığımızdan emin olmalıyız.

Veriyi içeri aktarıyoruz

data <- read.csv(“Dosya_Yolu/Klasor/earthquake_data_tsunami.csv”)

Veri setinin yapısını kontrol ediyoruz

str(data)

str(data) komutu ile “magnitude” (büyüklük) sütununun sayısal (numeric) olduğunu teyit ettikten sonra analizimize başlayabiliriz.

2. İstatistiksel Analiz: Depremleri Tanımak

Şimdi elimizdeki binlerce deprem verisini özetleyelim. Odak noktamız magnitude sütunu olacak.

Ortalama Büyüklük: Depremlerin genel şiddeti nedir? mean(data$magnitude)

En Küçük ve En Büyük Deprem: Tarihteki (bu veri setindeki) en zayıf ve en şiddetli deprem kaç şiddetindeydi? min(datamagnitude)max(datamagnitude)

Dağılım Analizi (Quantile): Depremlerin %25’i veya %75’i hangi şiddetin altında kalıyor? quantile(data$magnitude)

3. Dedektiflik Aracı: which.max() Fonksiyonu

Geldik dersin en önemli kısmına. Kodlarımıza şu satırı eklediğimizde ilginç bir sonuç alırız:

which.max(data$magnitude)

Çıktı Örneği: 477

Neden Sonuç 477 Çıktı?

Çoğu öğrenci burada bir deprem büyüklüğü (örneğin 9.5 gibi) görmeyi beklerken “477” gibi bir tam sayı görünce şaşırır.

Buradaki fark şudur:

  • max(): Bize “En yüksek değer KAÇTIR?” sorusunun cevabını verir. (Cevap: 9.5)
  • which.max(): Bize “En yüksek değer NEREDEDİR?” sorusunun cevabını verir. (Cevap: 477. satırda)

Yani R bize diyor ki: “Excel tablonu aç ve 477. satıra git. İşte aradığın o en büyük deprem o satırda duruyor.”

Bu Fonksiyonun Amacı Ne?

Sadece depremin büyüklüğünü (9.5) bilmek bize yetmez. Biz o depremin nerede (Country), ne zaman (Year) olduğunu da bilmek isteriz.

which.max sayesinde satır numarasını (indeksini) buluruz ve bu numarayı kullanarak o satırdaki diğer bilgilere erişebiliriz.

Örneğin, en büyük depremin olduğu satırdaki tüm bilgileri çekmek için şu kodu kullanabiliriz: data[477, ]

Bu kod bize 477. satırdaki ülkeyi, yılı ve diğer tüm detayları getirecektir. Yani which.max bir nevi adres bulma fonksiyonudur.

Özetle

  • Veri setini mean, min, max ile matematiksel olarak özetleriz.
  • En yüksek veya en düşük değerin kimliğine/detayına ulaşmak istiyorsak which.max() (veya which.min()) kullanarak o verinin satır numarasını öğreniriz.