Dplyr kullanarak birden çok sütun nasıl özetlenir
Dplyr kullanarak bir veri çerçevesindeki birden çok sütunu özetlemek için aşağıdaki yöntemleri kullanabilirsiniz:
Yöntem 1: Tüm sütunları özetle
#summarize mean of all columns df %>% group_by(group_var) %>% summarise(across(everything(), mean, na. rm = TRUE ))
Yöntem 2: Belirli Sütunları Özetleyin
#summarize mean of col1 and col2 only df %>% group_by(group_var) %>% summarise(across(c(col1, col2), mean, na. rm = TRUE ))
Yöntem 3: Tüm Sayısal Sütunları Özetle
#summarize mean and standard deviation of all numeric columns df %>% group_by(group_var) %>% summarise(across(where(is. numeric ), list(mean=mean, sd=sd), na. rm = TRUE ))
Aşağıdaki örnekler, her yöntemin aşağıdaki veri çerçevesiyle nasıl kullanılacağını gösterir:
#create data frame df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'), points=c(99, 90, 86, 88, 95, 90), assists=c(33, 28, 31, 39, 34, 25), rebounds=c(NA, 28, 24, 24, 28, 19)) #view data frame df team points assists rebounds 1 A 99 33 NA 2 A 90 28 28 3 A 86 31 24 4 B 88 39 24 5 B 95 34 28 6 B 90 25 19
Örnek 1: Tüm sütunları özetleme
Aşağıdaki kod, tüm sütunların ortalamasının nasıl özetleneceğini gösterir:
library (dplyr) #summarize mean of all columns, grouped by team df %>% group_by(team) %>% summarise(across(everything(), mean, na. rm = TRUE )) # A tibble: 2 x 4 team points assists rebounds 1 A 91.7 30.7 26 2 B 91 32.7 23.7
Örnek 2: Belirli sütunları özetleme
Aşağıdaki kod, yalnızca puan ve ribaund sütunlarının ortalamasının nasıl özetleneceğini gösterir:
library (dplyr) #summarize mean of points and rebounds, grouped by team df %>% group_by(team) %>% summarise(across(c(points, rebounds), mean, na. rm = TRUE )) # A tibble: 2 x 3 team points rebounds 1 A 91.7 26 2 B 91 23.7
Örnek 3: Tüm sayısal sütunları özetleyin
Aşağıdaki kod, veri çerçevesindeki tüm sayısal sütunların ortalama ve standart sapmasının nasıl özetleneceğini gösterir:
library (dplyr) #summarize mean and standard deviation of all numeric columns df %>% group_by(team) %>% summarise(across(where(is. numeric ), list(mean=mean, sd=sd), na. rm = TRUE )) # A tibble: 2 x 7 team points_mean points_sd assists_mean assists_sd rebounds_mean rebounds_sd 1 A 91.7 6.66 30.7 2.52 26 2.83 2 B 91 3.61 32.7 7.09 23.7 4.51
Çıktı, veri çerçevesindeki tüm sayısal değişkenlerin ortalamasını ve standart sapmasını görüntüler.
Bu örnekte hesaplamak istediğimiz çeşitli özet istatistikleri listelemek için list() işlevini kullandığımızı unutmayın.
Not : Her örnekte dplyr cross() fonksiyonunu kullandık. Bu işleve ilişkin tüm belgeleri burada bulabilirsiniz.
Ek kaynaklar
Aşağıdaki eğitimlerde dplyr kullanılarak diğer yaygın işlevlerin nasıl gerçekleştirileceği açıklanmaktadır:
Dplyr kullanarak satırlar nasıl silinir
Dplyr kullanarak satırlar nasıl düzenlenir
Dplyr kullanarak birden çok koşula göre filtreleme nasıl yapılır