R'de gruba göre özet istatistikler nasıl hesaplanır
R’de grup özet istatistiklerini hesaplamanın iki temel yolu vardır:
Yöntem 1: Base R’den tapply() işlevini kullanın
tapply(df$value_col, df$group_col, summary)
Yöntem 2: dplyr paketindeki group_by() işlevini kullanın
library (dplyr)
df %>%
group_by (group_col) %>%
summarize (min = min(value_col),
q1 = quantile(value_col, 0.25 ),
median = median(value_col),
mean = mean(value_col),
q3 = quantile(value_col, 0.75 ),
max = max(value_col))
Aşağıdaki örnekler her yöntemin pratikte nasıl kullanılacağını göstermektedir.
Yöntem 1: Base R’den tapply() işlevini kullanın
Aşağıdaki kod, özet istatistikleri gruba göre hesaplamak için R’deki tapply() işlevinin nasıl kullanılacağını gösterir:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
points=c(99, 68, 86, 88, 95, 74, 78, 93),
assists=c(22, 28, 31, 35, 34, 45, 28, 31),
rebounds=c(30, 28, 24, 24, 30, 36, 30, 29))
#calculate summary statistics of 'points' grouped by 'team'
tapply(df$points, df$team, summary)
$A
Min. 1st Qu. Median Mean 3rd Qu. Max.
68.00 81.50 87.00 85.25 90.75 99.00
$B
Min. 1st Qu. Median Mean 3rd Qu. Max.
74.0 77.0 85.5 85.0 93.5 95.0
Yöntem 2: dplyr paketindeki group_by() işlevini kullanın
Aşağıdaki kod, özet istatistikleri gruba göre hesaplamak için dplyr paketindeki group_by() ve Summary() işlevlerinin nasıl kullanılacağını gösterir:
library (dplyr)
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
points=c(99, 68, 86, 88, 95, 74, 78, 93),
assists=c(22, 28, 31, 35, 34, 45, 28, 31),
rebounds=c(30, 28, 24, 24, 30, 36, 30, 29))
#calculate summary statistics of 'points' grouped by 'team'
df %>%
group_by (team) %>%
summarize (min = min(points),
q1 = quantile(points, 0.25 ),
median = median(points),
mean = mean(points),
q3 = quantile(points, 0.75 ),
max = max(points))
# A tibble: 2 x 7
team min q1 median mean q3 max
1 A 68 81.5 87 85.2 90.8 99
2 B 74 77 85.5 85 93.5 95
Her iki yöntemin de tamamen aynı sonuçları döndürdüğünü unutmayın.
Dplyr yaklaşımının daha büyük veri çerçeveleri için muhtemelen daha hızlı olacağını, ancak her iki yöntemin de daha küçük veri çerçevelerinde benzer şekilde performans göstereceğini belirtmekte fayda var.
Ek kaynaklar
Aşağıdaki eğitimlerde R’de diğer ortak gruplama işlevlerinin nasıl gerçekleştirileceği açıklanmaktadır:
R’de gruba göre frekans tablosu nasıl oluşturulur
R’de gruba göre toplam nasıl hesaplanır
R’de grup başına ortalama nasıl hesaplanır
R’de gruba göre toplam nasıl hesaplanır