R'de gruba göre frekans tablosu nasıl oluşturulur


R’de gruba göre bir frekans tablosu oluşturmak için dplyr paketindeki aşağıdaki işlevleri kullanabilirsiniz:

 library (dplyr)

df %>%
  group_by (var1, var2) %>%
  summarize (Freq=n())

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: Gruba göre sıklık tablosu oluşturma

R’de aşağıdaki veri çerçevesine sahip olduğumuzu varsayalım:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'G', 'F', 'G', 'F', 'F', 'C'))

#view data frame
df

  team position
1 AG
2 AG
3 AG
4 AF
5 BG
6 BF
7 BF
8 BC

Diyelim ki her pozisyonun sıklığını takıma göre gruplandırarak gösteren bir frekans tablosu oluşturmak istiyoruz.

Bunu yapmak için aşağıdaki sözdizimini kullanabiliriz:

 library (dplyr)

#calculate frequency of position, grouped by team
df %>%
group_by (team, position) %>%
summarize (Freq=n())

# A tibble: 5 x 3
# Groups: team [2]
  team position Freq
       
1 AF 1
2 AG 3
3 BC 1
4 BF 2
5 BG 1

Sonucun nasıl yorumlanacağı aşağıda açıklanmıştır:

  • A takımından 1 oyuncu “F” pozisyonunda bulunur
  • A takımından 3 oyuncunun ‘G’ pozisyonu var
  • B takımından 1 oyuncu “C” pozisyonunda bulunur
  • B takımından 2 oyuncu ‘F’ pozisyonundadır
  • B takımından 1 oyuncu “G” pozisyonunu işgal ediyor

Summary() işlevindeki değişken adını değiştirerek frekansları içeren sütunu yeniden adlandırabileceğimizi unutmayın.

Örneğin, bunun yerine “count” sütununu yeniden adlandırabiliriz:

 library (dplyr)

#calculate frequency of position, grouped by team
df %>%
  group_by (team, position) %>%
  summarize (count=n())

# A tibble: 5 x 3
# Groups: team [2]
  team position count
       
1 AF 1
2 AG 3
3 BC 1
4 BF 2
5 BG 1

Ek kaynaklar

Aşağıdaki eğitimlerde dplyr’de diğer yaygın işlevlerin nasıl gerçekleştirileceği açıklanmaktadır:

Dplyr kullanılarak göreceli frekanslar nasıl hesaplanır?
Dplyr kullanarak değişkenleri gruba göre sıralama
Dplyr kullanarak dizine göre sütunlar nasıl seçilir

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir