Dplyr kullanarak değişkenleri gruba göre sıralama


Değişkenleri dplyr’de gruplamak için aşağıdaki temel sözdizimini kullanabilirsiniz:

 df %>% arrange (group_var, numeric_var) %>%
    group_by (group_var) %>% 
    mutate (rank = rank(numeric_var))

Aşağıdaki örnekler, bu sözdiziminin pratikte aşağıdaki veri çerçevesiyle nasıl kullanılacağını gösterir:

 #create data frame
df <- data. frame (team = c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'),
                 points = c(12, 28, 19, 22, 32, 45, 22, 28, 13, 19),
                 rebounds = c(5, 7, 7, 12, 11, 4, 10, 7, 8, 8))

#view data frame
df

   team points rebounds
1 to 12 5
2 to 28 7
3 to 19 7
4 A 22 12
5 B 32 11
6 B 45 4
7 B 22 10
8 C 28 7
9 C 13 8
10 C 19 8

Örnek 1: Artan sırada sıralama

Aşağıdaki kod, oyuncular tarafından kazanılan puanların takıma göre gruplandırılmış olarak artan sırada nasıl sıralanacağını gösterir:

 library (dplyr)

#rank points scored, grouped by team
df %>% arrange (team, points) %>%
    group_by (team) %>% 
    mutate (rank = rank(points))

# A tibble: 10 x 4
# Groups: team [3]
   team points rebounds rank
          
 1 A 12 5 1
 2 A 19 7 2
 3 A 22 12 3
 4 A 28 7 4
 5 B 22 10 1
 6 B 32 11 2
 7 B 45 4 3
 8 C 13 8 1
 9 C 19 8 2
10 C 28 7 3

Örnek 2: Azalan sıralama

Ayrıca Rank() işlevinde negatif işaretini kullanarak puanlanan puanları gruba göre azalan sırada sınıflandırabiliriz:

 library (dplyr)

#rank points scored in reverse, grouped by team
df %>% arrange (team, points) %>%
    group_by (team) %>% 
    mutate (rank = rank(-points))

# A tibble: 10 x 4
# Groups: team [3]
   team points rebounds rank
          
 1 to 12 5 4
 2 A 19 7 3
 3 A 22 12 2
 4 A 28 7 1
 5 B 22 10 3
 6 B 32 11 2
 7 B 45 4 1
 8 C 13 8 3
 9 C 19 8 2
10 C 28 7 1

Sıralamada bağlar nasıl ele alınır?

Sayısal değerleri sıralarken bağları nasıl ele almamız gerektiğini belirtmek için Tie.method argümanını kullanabiliriz.

 rank(points, ties. method = ' average ')

Bağlantıların nasıl işleneceğini belirtmek için aşağıdaki seçeneklerden birini kullanabilirsiniz:

  • ortalama : (Varsayılan) Bağlantılı her öğeye ortalama sıralamayı verir (3. ve 4. sıradaki öğelerin her ikisi de 3,5 puan alır)
  • birinci : İlk bağlantılı öğeyi en düşük sıraya atar (3. ve 4. konumlarda yer alan öğeler sırasıyla 3. ve 4. sıraları alır)
  • min : Bağlantılı her öğeyi en düşük sıraya atar (3. ve 4. sıradaki öğelerin her ikisi de 3 sırasını alır)
  • max : Bağlantılı her öğeye en yüksek sıralamayı atar (3. ve 4. sıradaki öğelerin her ikisi de 4 puan alır)
  • rastgele : eşit olan her öğeye rastgele bir sıralama atar (3. ve 4. konum için eşit olan öğelerden herhangi biri her iki sıralamayı da alabilir)

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 kullanarak gruba göre ilk satır nasıl seçilir
Dplyr kullanılarak göreceli frekanslar nasıl hesaplanır?
Dplyr kullanarak değerler nasıl yeniden kodlanır
Dplyr’de NA’yı Sıfır ile nasıl değiştirebilirim?

Yorum ekle

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