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?