A: cara menggunakan %in% untuk memfilter baris dengan nilai dalam daftar
Anda dapat menggunakan sintaks dasar berikut dengan operator %in% di R untuk memfilter baris yang berisi nilai dalam daftar:
library (dplyr) #specify team names to keep team_names <- c(' Mavs ', ' Pacers ', ' Nets ') #select all rows where team is in list of team names to keep df_new <- df %>% filter(team %in% team_names)
Sintaks khusus ini memfilter bingkai data untuk hanya menyimpan baris yang nilai kolom tim sama dengan salah satu dari tiga nilai vektor nama_tim yang kita tentukan.
Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.
Contoh: Menggunakan %in% untuk memfilter baris dengan nilai dalam daftar
Misalkan kita memiliki kerangka data berikut di R yang berisi informasi tentang berbagai tim bola basket:
#create data frame
df <- data. frame (team=c('Mavs', 'Pacers', 'Mavs', 'Celtics', 'Nets', 'Pacers'),
points=c(104, 110, 134, 125, 114, 124),
assists=c(22, 30, 35, 35, 20, 27))
#view data frame
df
team points assists
1 Mavs 104 22
2 Pacers 110 30
3 Mavs 134 35
4 Celtics 125 35
5 Nets 114 20
6 Pacers 124 27
Katakanlah kita ingin memfilter bingkai data agar hanya berisi baris yang nilainya di kolom tim sama dengan salah satu nama tim berikut:
- Mav
- perintis
- Jaring
Kita dapat menggunakan sintaks berikut dengan operator %in% untuk melakukan ini:
library (dplyr) #specify team names to keep team_names <- c(' Mavs ', ' Pacers ', ' Nets ') #select all rows where team is in list of team names to keep df_new <- df %>% filter(team %in% team_names) #view updated data frame df_new team points assists 1 Mavs 104 22 2 Pacers 110 30 3 Mavs 134 35 4 Nets 114 20 5 Pacers 124 27
Perhatikan bahwa hanya baris dengan nilai Mavs, Pacers, atau Nets di kolom tim yang disimpan.
Jika Anda ingin memfilter baris dimana nama tim tidak ada dalam daftar nama tim, cukup tambahkan tanda seru ( ! ) di depan nama kolom:
library (dplyr) #specify team names to not keep team_names <- c(' Mavs ', ' Pacers ', ' Nets ') #select all rows where team is not in list of team names to keep df_new <- df %>% filter( ! team %in% team_names) #view updated data frame df_new team points assists 1 Celtics 125 35
Perhatikan bahwa hanya baris yang nilainya tidak sama dengan Mavs, Pacers, atau Nets di kolom tim yang disimpan.
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