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

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *