C: aggregate() nasıl kullanılır ve na ile satırlar silinmez
Bir veri çerçevesindeki değişkenlere ilişkin özet istatistikleri hesaplamak için R’deki Aggregate() işlevini kullanabilirsiniz.
Varsayılan olarak, Aggregate() işlevi bir veri çerçevesinde bir veya daha fazla NA değeri içeren bir satırla karşılaşırsa, hesaplamaları gerçekleştirirken yalnızca satırı kaldırır.
Bu, hesaplamalar yapılırken beklenmeyen sonuçlara yol açabilir.
Bu davranışı önlemek için Aggregate() işlevinde na.action=NULL bağımsız değişkenini kullanabilirsiniz.
Aşağıdaki örnek bu argümanın pratikte nasıl kullanılacağını göstermektedir.
Örnek: R’de aggegate() kullanın ve NA ile satırları silmeyin
R’de farklı takımlardaki basketbolcuların sayılarını ve asistlerini gösteren aşağıdaki veri çerçevesine sahip olduğumuzu varsayalım:
#create data frame df <- data. frame (team=c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'C', 'C'), points=c(5, 9, 12, 14, 14, 13, 10, 6, 15, 18), assists=c(NA, 4, 4, 5, 3, 6, 8, 4, 10, NA)) #view data frame df team points assists 1 to 5 NA 2 to 9 4 3 to 12 4 4 to 14 5 5 A 14 3 6 B 13 6 7 B 10 8 8 B 6 4 9 C 15 10 10 C 18 NA
Şimdi takıma göre gruplandırılmış puanların ve asistlerin toplamını hesaplamak için Aggregate() işlevini kullanmaya çalıştığımızı varsayalım:
#attempt to calculate sum of points and assists, grouped by team aggregate(. ~ team, data=df, FUN=sum, na. rm = TRUE ) team points assists 1 A 49 16 2 B 29 18 3 C 15 10
Sonuç bize takım başına puan ve asist toplamını gösteriyor gibi görünüyor, ancak NA değerlerine sahip satırlar aslında bu hesaplamaları çalıştırırken kaldırıldı.
Orijinal veri çerçevesine bakarak ve Takım C’nin puan sütununda iki değere sahip olduğunu görerek bunu doğrulayabiliriz:
- 15
- 18
Yani C takımının toplam 33 puanı olması gerekirken sonuç sadece 15 puan gösteriyor.
Bunun nedeni, puan değeri 18 olan satırın asist sütununda NA değerinin bulunmasıdır; bu, takımın puan toplamı ile asist toplamı hesaplanırken bu satırın gerçekte kullanılmadığı anlamına gelir.
Hesaplamalar yapılırken NA değerlerine sahip satırların kaldırılmamasını sağlamak için na.action=NULL argümanını şu şekilde kullanmamız gerekiyor:
#calculate sum of points and assists, grouped by team (don't drop NA rows) aggregate(. ~ team, data=df, FUN=sum, na. rm = TRUE , na. action =NULL) team points assists 1 A 54 16 2 B 29 18 3 C 33 10
Aggregate() fonksiyonunun bu sefer C takımı için 33’e eşit puan değerlerinin toplamını doğru bir şekilde döndürdüğünü unutmayın.
Not : na.rm=TRUE argümanı, belirli bir sütunda hesaplama yapılırken NA değerlerinin göz ardı edilmesi gerektiğini belirtir.
Ek kaynaklar
Aşağıdaki eğitimlerde R’de diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
R’de Summary() işlevi nasıl kullanılır?
R’de grup başına ortalama nasıl hesaplanır
R’de tanımlayıcı istatistikler nasıl hesaplanır