Ana içeriğe geç

R median() Function: Ortadaki Değeri Bulun

R median() fonksiyonunu kullanarak verinizin ortadaki değerini hızla nasıl bulacağınızı öğrenin. Eksik değerleri yönetmeye ve verileri kategorilere göre gruplamaya yönelik ipuçlarını keşfedin.
· 4 dk. oku

Yapay Zeka ile Keşfedin

Ortanca (median) bulmak, özellikle çarpık dağılımlar veya aykırı değerlerle uğraşırken veri analizinin temel bir parçasıdır. 

R'de median() fonksiyonu, çok önemli (parametrik olmayan!) bir merkezî eğilim ölçüsünü hesaplamak için basit ve yerleşik bir yol sunar. Size adım adım göstereceğim:

R median() Ne Yapar?

median() fonksiyonu sayısal verinizi inceler ve merkezî değerin (bir yorumunu) döndürür.

median(numeric_vector)

Burada numeric_vector, bir sayısal vektöre veya bir veri çerçevesindeki sütun gibi benzer bir nesneye karşılık gelir.

R median() ile Basit Bir Örnek

Bunu uygulamada görelim. Küçük bir sayı vektörünüz olduğunu varsayalım:

sales_numbers <- c(3, 5, 8, 2, 7)

median(sales_numbers)

R sayıları otomatik olarak sıralar (2, 3, 5, 7, 8) ve ardından 5 değerini döndürür. Bu, tam ortada duran değerdir.

Peki ya vektörünüzde, bir sonraki örnekte olduğu gibi, çift sayıda eleman varsa?

quarterly_sales <- c(10, 4, 7, 2)

median(quarterly_sales)

Burada R, (2, 4, 7, 10) şeklinde sıralar ve ardından ortadaki iki sayının (4 ve 7) ortalamasını alarak 5.5 sonucunu verir.

Veri kümeniz tek sayıda değer içeriyorsa, ortadaki değeri seçer. Çift sayıda değer için median(), ortadaki iki sayının ortalamasını hesaplar.

Kısacası, median() perde arkasında sıralamayı sizin için yapar; bu da oldukça kullanışlıdır.

median() ile NA Değerlerini Yönetme

Veri kümeleriniz büyüdükçe eksik değerlere rastlamak yaygın hale gelir. Dikkatli olmazsanız bunlar hesaplamalarınızı bozabilir. Varsayılan olarak, vektörünüzde herhangi bir eksik değer varsa median() NA döndürür. (Tek bir eksik değer bile olsa.) Bunun nasıl işlediğine bakalım:

monthly_sales <- c(6, 3, NA, 9)

median(monthly_sales)

Sonucun NA olduğuna dikkat edin. Bunu atlamak için na.rm = TRUE argümanını ekleyin. Bu, R'a ortancayı hesaplamadan önce eksik değerleri kaldırmasını söyler:

median(monthly_sales, na.rm = TRUE)

Bu kez 6 elde edersiniz (kalan değerlerin (3, 6 ve 9) ortancası). Bu NAlara dikkat edin; fark etmezseniz verinize sızıp analizinizi yanıltabilirler.

R'de Gruba Göre Ortanca Bulma

Şimdi yeni bir şey deneyelim: farklı gruplar arasında ortancaları karşılaştırmak.

Yaygın bir soru: Bölgelere göre ortanca geliri görmek istersek ne yaparız? Basit vektörlerde yaptığımız gibi, R bunu da kolaylaştırır; ancak şimdi önce verimizi gruplamamız gerekir.

Taban R'de hızlı bir yol tapply() ile olur:

income_values <- c(40000, 50000, 45000, 35000, 60000, 30000)
region_labels <- c("East", "West", "West", "East", "East", "West")

tapply(income_values, region_labels, median)

Bu, her bölge için ortanca geliri hesaplar.

dplyr paketini tercih ediyorsanız, aynı sonuca boru dostu bir sözdizimiyle ulaşabilirsiniz:

library(dplyr)

income_data <- data.frame(income = income_values, region = region_labels)

income_data %>%
   group_by(region) %>%
   summarise(median_income = median(income))

Bu yaklaşım, her bölgenin ortanca gelirini listeleyen derli toplu bir özet tablo üretir.

Bu tür gruplu özetler, verinizdeki kategoriler arasında merkezî eğilimleri karşılaştırmak istediğinizde özellikle kullanışlıdır.

R'de Veri Çerçevesi Sütunları İçin Ortanca Hesaplama

Bazen, veri çerçevenizdeki her sütunun ortancasını bir kerede almak isteyebilirsiniz—belki veri kümenizin merkezî değerlerine hızlıca göz atmak için. Burada sapply() kullanacağım.

test_scores <- data.frame(math = c(1, 2, 3), science = c(7, 8, 9))

sapply(test_scores, median)

Bu komut her sütunun ortancasını döndürür; böylece eğilimleri veya aykırı değerleri bir bakışta fark edebilirsiniz. Bu teknik, yeni verileri keşfederken ve hızlı bir genel bakış istediğinizde özellikle kullanışlıdır.

Dikkat Edilmesi Gerekenler

Bitirmeden önce, median() ile sorunsuz ilerlemek için bazı yaygın tuzaklar ve en iyi uygulamaları vurgulayalım:

  • median()'a yalnızca sayısal veri gönderdiğinizden emin olun. Bir faktör veya karakter vektörü denerseniz R hata verecektir.

  • Eksik veri olabileceğinden şüpheleniyorsanız na.rm = TRUE kullanmayı unutmayın.

  • Verinizi elle sıralamanıza gerek yok. median() sıralamayı dahili olarak halleder; bu yüzden vektörünüzü olduğu gibi iletin.

Sonuç

median() fonksiyonu, özellikle ortalamayı bozabilecek aykırı değerler içeren veri kümelerinde, verinizin gerçek merkezini anlamanın harika bir yoludur. median() fonksiyonu ayrıca eksik değerler veya gruplu özetler gibi karmaşıklıkları da esnek bir şekilde ele alabilir.

Sonraki adımlar için, göz atmak isterseniz R mean() fonksiyonu hakkında kısa bir yazı da kaleme aldım. Ayrıca, gerçekten tüm önemli ve faydalı iş becerilerini geliştirmek için R ile Keşifsel Veri Analizi kursumuzu almayı unutmayın.

Josef Waples

Yazar

Josef Waples

Bilimsel dergilerde yayımlanan araştırma makalelerine katkıları olan bir veri bilimi yazarı ve editörüyüm. Özellikle lineer cebir, istatistik, R ve benzeri konularla ilgileniyorum. Aynı zamanda epey satranç da oynarım! 

Konular

İlgili