Cara mengelompokkan dan memfilter data menggunakan dplyr
Anda dapat menggunakan sintaks dasar berikut untuk mengelompokkan dan memfilter data menggunakan paket dplyr di R:
df %>% group_by(team) %>% filter(any(points = = 10 ))
Sintaks khusus ini mengelompokkan bingkai data per kolom yang disebut tim dan hanya memfilter grup yang setidaknya satu nilai di kolom poin sama dengan 10.
Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.
Contoh: Kelompokkan berdasarkan dan filter data menggunakan dplyr
Misalkan kita memiliki kerangka data berikut di R yang berisi informasi tentang berbagai pemain bola basket:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'),
points=c(10, 15, 8, 4, 10, 10, 12, 12, 7))
#view data frame
df
team points
1 to 10
2 to 15
3 to 8
4 B 4
5 B 10
6 B 10
7 C 12
8 C 12
9 C 7
Kita bisa menggunakan kode berikut untuk mengelompokkan frame data berdasarkan nilai di kolom Tim , lalu memfilter semua grup yang tidak memiliki setidaknya satu nilai di kolom Poin sama dengan 10:
library (dplyr)
#group by team and filter out teams where no points value is equal to 10
df %>%
group_by(team) %>%
filter(any(points == 10 ))
# A tibble: 6 x 2
# Groups: team [2]
team points
1 to 10
2 to 15
3 to 8
4 B 4
5 B 10
6 B 10
Perhatikan bahwa semua baris di mana tim sama dengan “C” difilter karena tidak ada nilai di kolom poin untuk tim “C” yang sama dengan 10.
Perhatikan bahwa ini hanyalah contoh filter yang dapat kami terapkan.
Misalnya, kita dapat menerapkan filter lain yang memfilter tim dengan setidaknya satu nilai di kolom poin lebih besar dari 13:
library (dplyr)
#group by team and filter out teams where no points value is greater than 13
df %>%
group_by(team) %>%
filter(any(points > 13 ))
# A tibble: 3 x 2
# Groups: team [1]
team points
1 to 10
2 to 15
3 to 8
Perhatikan bahwa hanya garis di mana tim sama dengan “A” yang dipertahankan karena merupakan satu-satunya tim yang memiliki setidaknya satu nilai poin lebih besar dari 13.
Catatan : Anda dapat menemukan dokumentasi lengkap fungsi filter di dplyr di sini .
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di dplyr:
Cara memilih baris pertama berdasarkan grup menggunakan dplyr
Cara memfilter berdasarkan beberapa kondisi menggunakan dplyr
Cara memfilter baris yang berisi string tertentu menggunakan dplyr