R sd() fonksiyonunu kullanarak verinizdeki değişkenliği ölçmeyi öğrenin. Eksik değerler ve gruplanmış veriler için pratik örnekleri ve temel teknikleri keşfedin.
Standart sapma, verinizin ne kadar yayılım gösterdiğini özetlemenin en yaygın yollarından biridir. R'de, sd() fonksiyonu, vektörler, veri çerçeveleri veya gruplanmış verilerle çalışıyor olun, bu değişkenlik ölçüsünü hızlıca hesaplamanın bir yolunu sunar.
Bu yazıda, R'de sd() kullanımının temellerini ele alacak, eksik değerlerle nasıl başa çıkılacağını inceleyecek ve tapply() gibi fonksiyonlar ile dplyr gibi paketleri kullanarak gruplar arasında standart sapmanın nasıl hesaplanacağını göstereceğim.
R'de sd() Ne Yapar?
R'nin temel paketindeki sd() fonksiyonu, sayısal bir vektörün veya veri çerçevesi sütununun standart sapmasını hesaplar. Verinizdeki değerlerin ortalamadan ne kadar saptığını ölçerek değişkenlik ya da yayılım hakkında fikir verir.
Varyans kavramına aşinaysanız, standart sapma onun kareköküdür ve hesaplanma biçimi nedeniyle (ortalama karesel sapmanın karekökünü alma) standart sapma, özgün verilerle aynı ölçekte kalır. Bu da pratikte yorumlamayı kolaylaştırır.
Basit bir sd() Örneği
Elinizde bir sayı kümesi olduğunu ve bunların ortalamadan ne kadar saptığını bilmek istediğinizi varsayalım.
Çıktı, standart sapmayı verir; bu değer, her bir puanın ortalamadan ortalama uzaklığını niceler.
sd()'yi, tamsayılar, ondalıklar veya hesaplama sonuçları dahil olmak üzere herhangi bir sayısal vektörle kullanabilirsiniz. R'nin mantıksal vektörleri sayısal olarak değerlendirdiğini biliyor olabilirsiniz (TRUE için 1, FALSE için 0), bu nedenle sd() teknik olarak mantıksal vektörlerde de çalışır (isterseniz deneyebilirsiniz), ancak standart sapma kavramı en anlamlısını sürekli sayısal veriler için ifade eder.
sd() ile Eksik Değerlerin Ele Alınması
Gerçek dünyadaki veri kümeleri sıklıkla eksik değerler içerir; bu yüzden şunu belirtmek gerekir: Verinizde herhangi bir NA varsa, sd() varsayılan olarak NA döndürür.
Eksik değerleri yok sayıp mevcut sayıların standart sapmasını hesaplamak için na.rm = TRUE argümanını kullanın. Ya da NA değerleri veri kümenizden temizleyebilirsiniz; ancak bunu yalnızca anlamlıysa yapmanızı öneririm.
Artık 170, 175, 180 ve 185 için standart sapmayı elde edeceksiniz.
R'de Veri Çerçeveleri için Standart Sapma Hesaplama
Veri çerçevesindeki belirli bir sütunun standart sapmasını $ operatörünü kullanarak kolayca hesaplayabilirsiniz. Diyelim ki ürün ağırlıklarından oluşan bir veri çerçeveniz var:
Bu, weight sütununun standart sapmasını verir. Unutmayın, sd() tüm bir veri çerçevesi için değil, sayısal vektörler için tasarlanmıştır. Her zaman uygun sütunu seçin.
sd() ve Gruplanmış Standart Sapmalar
Çoğu zaman, kategori, bölge veya başka bir faktöre göre gruplar içindeki değişkenliği ölçmek isteyeceksiniz. R, gruplanmış standart sapmaları hesaplamak için çeşitli yollar sunar. Üç tanesini göstereceğim:
Gruplanmış standart sapmalar için tapply() kullanma
Farklı bölgeler için satış verilerine sahip olduğunuzu ve her bölge için standart sapmayı istediğinizi varsayalım:
sales_amount <- c(200,220,210,250,240,230)
region <- c("North","North","South","South","North","South")
tapply(sales_amount, region, sd)Altyapı:
tapply(), bölge tarafından tanımlanan her gruba sd()'yi uygular.
Gruplanmış standart sapmalar için aggregate() kullanma
Sonuçlarınızı düzenli bir veri çerçevesi halinde almak isterseniz, aggregate() işe yarar:
sales_data <- data.frame( region = c("North","North","South","South","North","South"), amount = c(200,220,210,250,240,230))
aggregate(amount ~ region, data = sales_data, sd)Altyapı:
Bu, her bölge için standart sapmayı içeren özet bir veri çerçevesi üretir.
Gruplanmış standart sapmalar için dplyr kullanma
dplyr paketiyle, gruplanmış hesaplamalar daha da okunabilir hale gelir. Grupladıktan sonra summarize() kullanın:
Bu yaklaşım, özellikle daha büyük veri kümeleri için ya da birden fazla veri dönüşümünü art arda bağlarken kullanışlıdır. (Ya da benim gibi pipe operatörünü kullanmayı tercih ediyorsanız.)
Yaygın Hatalar ve İpuçları
sd() gibi basit bir fonksiyon bile dikkatli olmazsanız sorun yaratabilir. İşte yaygın tuzaklardan bazıları:
Sayısal olmayan veri: sd() yalnızca sayısal vektörlerle çalışır. Veriniz karakterler veya faktörler içeriyorsa hata alırsınız. Verinizi kontrol etmek için is.numeric() kullanın.
Eksik değerler: Tek bir NA, sd()'nin NA döndürmesine yol açar. Eksik değerleri yok saymak istiyorsanız her zaman na.rm = TRUE kullanın.
Küçük örneklem boyutları: sd() paydada n-1 kullanır (örneklem standart sapması). Uzunluğu 1 olan vektörler için sd()0 değil, NA döndürür.
Özellikle sonuncusunun ilginç olduğunu düşünüyorum. Daha az bilinen bir farktır ve Python'dan R'ye geçiyorsanız sizi şaşırtabilir; zira Python, örneklem değil, anakütle standart sapmasına göre böler.
R'de Faydalı Varyasyonlar ve İlgili Fonksiyonlar
R, değişkenliği ölçmek ve veriyi özetlemek için çeşitli ilgili fonksiyonlar sunar:
var(): Standart sapmanın karesi olan varyansı hesaplar.
apply(), sapply(), lapply(): Matrislerin ve veri çerçevelerinin satır veya sütunları boyunca sd() uygulamak için kullanışlıdır.
mad(): Medyan mutlak sapmayı hesaplar; bu, değişkenliğin ilginç ve daha dayanıklı bir ölçüsüdür.
Madem bahsettim, sd()'yi apply() ile kullanmayı göstereyim: Bir matrisin her sütununun standart sapmasını elde etmek için apply() nasıl kullanılır, burada. Daha önce olduğu gibi, matrisi anında oluşturacağım.
Bu, her sütun için standart sapmayı döndürerek birden çok değişken arasındaki değişkenlik hakkında hızlı bir genel bakış sağlar.
Sonuç
R'deki sd() fonksiyonu nispeten basittir (yalnızca tek satır kod). Ancak bunu raporlar veya sunumlar için kullanırken ayrıntılara biraz uzak hissettiğinizi fark ederseniz, R ile İstatistikçi kariyer yoluna kaydolun. İstatistik ve veri analizinde çok fazla nüans vardır; bu nedenle iyi derecede yetkin olduğunuzdan emin olun.
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!
Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Standart sapma, verinizin ne kadar yayılım gösterdiğini özetlemenin en yaygın yollarından biridir. R'de,
sd()fonksiyonu, vektörler, veri çerçeveleri veya gruplanmış verilerle çalışıyor olun, bu değişkenlik ölçüsünü hızlıca hesaplamanın bir yolunu sunar.Bu yazıda, R'de
sd()kullanımının temellerini ele alacak, eksik değerlerle nasıl başa çıkılacağını inceleyecek vetapply()gibi fonksiyonlar iledplyrgibi paketleri kullanarak gruplar arasında standart sapmanın nasıl hesaplanacağını göstereceğim.R'de sd() Ne Yapar?
R'nin temel paketindeki
sd()fonksiyonu, sayısal bir vektörün veya veri çerçevesi sütununun standart sapmasını hesaplar. Verinizdeki değerlerin ortalamadan ne kadar saptığını ölçerek değişkenlik ya da yayılım hakkında fikir verir.Varyans kavramına aşinaysanız, standart sapma onun kareköküdür ve hesaplanma biçimi nedeniyle (ortalama karesel sapmanın karekökünü alma) standart sapma, özgün verilerle aynı ölçekte kalır. Bu da pratikte yorumlamayı kolaylaştırır.
Basit bir sd() Örneği
Elinizde bir sayı kümesi olduğunu ve bunların ortalamadan ne kadar saptığını bilmek istediğinizi varsayalım.
Bunu R'de şöyle yaparsınız:
Çıktı, standart sapmayı verir; bu değer, her bir puanın ortalamadan ortalama uzaklığını niceler.
sd()'yi, tamsayılar, ondalıklar veya hesaplama sonuçları dahil olmak üzere herhangi bir sayısal vektörle kullanabilirsiniz. R'nin mantıksal vektörleri sayısal olarak değerlendirdiğini biliyor olabilirsiniz (TRUEiçin1,FALSEiçin0), bu nedenlesd()teknik olarak mantıksal vektörlerde de çalışır (isterseniz deneyebilirsiniz), ancak standart sapma kavramı en anlamlısını sürekli sayısal veriler için ifade eder.sd() ile Eksik Değerlerin Ele Alınması
Gerçek dünyadaki veri kümeleri sıklıkla eksik değerler içerir; bu yüzden şunu belirtmek gerekir: Verinizde herhangi bir
NAvarsa,sd()varsayılan olarakNAdöndürür.Şu örneği düşünün:
Sonuç
NAolacaktır.Eksik değerleri yok sayıp mevcut sayıların standart sapmasını hesaplamak için
na.rm = TRUEargümanını kullanın. Ya daNAdeğerleri veri kümenizden temizleyebilirsiniz; ancak bunu yalnızca anlamlıysa yapmanızı öneririm.Artık 170, 175, 180 ve 185 için standart sapmayı elde edeceksiniz.
R'de Veri Çerçeveleri için Standart Sapma Hesaplama
Veri çerçevesindeki belirli bir sütunun standart sapmasını
$operatörünü kullanarak kolayca hesaplayabilirsiniz. Diyelim ki ürün ağırlıklarından oluşan bir veri çerçeveniz var:Bu,
weightsütununun standart sapmasını verir. Unutmayın,sd()tüm bir veri çerçevesi için değil, sayısal vektörler için tasarlanmıştır. Her zaman uygun sütunu seçin.sd() ve Gruplanmış Standart Sapmalar
Çoğu zaman, kategori, bölge veya başka bir faktöre göre gruplar içindeki değişkenliği ölçmek isteyeceksiniz. R, gruplanmış standart sapmaları hesaplamak için çeşitli yollar sunar. Üç tanesini göstereceğim:
Gruplanmış standart sapmalar için tapply() kullanma
Farklı bölgeler için satış verilerine sahip olduğunuzu ve her bölge için standart sapmayı istediğinizi varsayalım:
tapply(), bölge tarafından tanımlanan her grubasd()'yi uygular.Gruplanmış standart sapmalar için aggregate() kullanma
Sonuçlarınızı düzenli bir veri çerçevesi halinde almak isterseniz,
aggregate()işe yarar:Bu, her bölge için standart sapmayı içeren özet bir veri çerçevesi üretir.
Gruplanmış standart sapmalar için dplyr kullanma
dplyrpaketiyle, gruplanmış hesaplamalar daha da okunabilir hale gelir. Grupladıktan sonrasummarize()kullanın:Bu yaklaşım, özellikle daha büyük veri kümeleri için ya da birden fazla veri dönüşümünü art arda bağlarken kullanışlıdır. (Ya da benim gibi pipe operatörünü kullanmayı tercih ediyorsanız.)
Yaygın Hatalar ve İpuçları
sd() gibi basit bir fonksiyon bile dikkatli olmazsanız sorun yaratabilir. İşte yaygın tuzaklardan bazıları:
Sayısal olmayan veri:
sd()yalnızca sayısal vektörlerle çalışır. Veriniz karakterler veya faktörler içeriyorsa hata alırsınız. Verinizi kontrol etmek içinis.numeric()kullanın.Eksik değerler: Tek bir
NA,sd()'ninNAdöndürmesine yol açar. Eksik değerleri yok saymak istiyorsanız her zamanna.rm = TRUEkullanın.Küçük örneklem boyutları:
sd()paydada n-1 kullanır (örneklem standart sapması). Uzunluğu 1 olan vektörler içinsd()0değil,NAdöndürür.Özellikle sonuncusunun ilginç olduğunu düşünüyorum. Daha az bilinen bir farktır ve Python'dan R'ye geçiyorsanız sizi şaşırtabilir; zira Python, örneklem değil, anakütle standart sapmasına göre böler.
R'de Faydalı Varyasyonlar ve İlgili Fonksiyonlar
R, değişkenliği ölçmek ve veriyi özetlemek için çeşitli ilgili fonksiyonlar sunar:
var(): Standart sapmanın karesi olan varyansı hesaplar.apply(),sapply(),lapply(): Matrislerin ve veri çerçevelerinin satır veya sütunları boyuncasd()uygulamak için kullanışlıdır.mad(): Medyan mutlak sapmayı hesaplar; bu, değişkenliğin ilginç ve daha dayanıklı bir ölçüsüdür.Madem bahsettim,
sd()'yiapply()ile kullanmayı göstereyim: Bir matrisin her sütununun standart sapmasını elde etmek içinapply()nasıl kullanılır, burada. Daha önce olduğu gibi, matrisi anında oluşturacağım.Bu, her sütun için standart sapmayı döndürerek birden çok değişken arasındaki değişkenlik hakkında hızlı bir genel bakış sağlar.
Sonuç
R'deki
sd()fonksiyonu nispeten basittir (yalnızca tek satır kod). Ancak bunu raporlar veya sunumlar için kullanırken ayrıntılara biraz uzak hissettiğinizi fark ederseniz, R ile İstatistikçi kariyer yoluna kaydolun. İstatistik ve veri analizinde çok fazla nüans vardır; bu nedenle iyi derecede yetkin olduğunuzdan emin olun.