Dplyr kullanarak gruba göre ilk satır nasıl seçilir
Genellikle R’deki dplyr paketini kullanarak her grubun ilk satırını seçmek isteyebilirsiniz. Bunu yapmak için aşağıdaki temel sözdizimini kullanabilirsiniz:
df %>% group_by (group_var) %>% arrange (values_var) %>% filter (row_number()== 1 )
Aşağıdaki örnekte bu fonksiyonun pratikte nasıl kullanılacağı gösterilmektedir.
Örnek: R’de ilk satırı gruba göre seçin
R’de aşağıdaki veri kümesine sahip olduğumuzu varsayalım:
#create dataset df <- data.frame(team=c('A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C' ), points=c(4, 9, 7, 7, 6, 13, 8, 8, 4, 17)) #view dataset df team points 1 to 4 2 to 9 3 to 7 4 B 7 5 B 6 6 B 13 7 C 8 8 C 8 9 C 4 10 C 17
Aşağıdaki kod, R’de ilk satırı gruba göre seçmek için dplyr paketinin nasıl kullanılacağını gösterir:
library (dplyr) df %>% group_by (team) %>% arrange (points) %>% filter (row_number()== 1 ) # A tibble: 3 x 2 # Groups: team [3] team points 1 to 4 2 C 4 3 B 6
Varsayılan olarak, düzenleme() değerleri artan düzende sıralar ancak biz değerleri kolaylıkla azalan düzende sıralayabiliriz:
df %>% group_by (team) %>% arrange ( desc (dots)) %>% filter (row_number()== 1 ) # A tibble: 3 x 2 # Groups: team [3] team points 1 C 17 2 B 13 3 to 9
Her gruptaki n’inci satırı seçmek için bu kodu kolayca değiştirebileceğinizi unutmayın. Sadece row_number() == n değerini değiştirin.
Örneğin 2. satırı gruba göre seçmek istiyorsanız aşağıdaki sözdizimini kullanabilirsiniz:
df %>% group_by (team) %>% arrange ( desc (dots)) %>% filter (row_number()== 2 )
Veya son satırı gruba göre seçmek için aşağıdaki sözdizimini kullanabilirsiniz:
df %>% group_by (team) %>% arrange ( desc (dots)) %>% filter (row_number()== n() )
Ek kaynaklar
R’de çizgiler nasıl düzenlenir
R’de grup başına gözlemler nasıl sayılır?
R’de grup başına maksimum değer nasıl bulunur?