Dplyr: cara menggunakan filter pesan “tidak ada”.


Anda dapat menggunakan sintaks dasar berikut di dplyr untuk memfilter baris dalam bingkai data yang tidak ada dalam daftar nilai:

 df %>%
  filter (!col_name %in% c(' value1 ', ' value2 ', ' value3 ', ...))

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh 1: Filter baris yang tidak berisi nilai dalam kolom

Misalkan kita memiliki bingkai data berikut di R:

 #create data frame
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'D', 'D'),
                 position=c('G', 'G', 'F', 'G', 'F', 'C', 'C', 'C'),
                 points=c(12, 14, 19, 24, 36, 41, 18, 29))

#view data frame
df

  team position points
1 AG 12
2 AG 14
3 BF 19
4 BG 24
5 CF 36
6 CC 41
7 DC 18
8 DC 29

Sintaks berikut menunjukkan cara memfilter baris yang nama timnya tidak sama dengan “A” atau “B”:

 #filter for rows where team name is not 'A' or 'B'
df %>%
filter (!team %in% c(' A ', ' B '))

team position points
1 CF 36
2 CC 41
3 DC 18
4 DC 29

Contoh 2: Filter baris yang tidak berisi nilai di beberapa kolom

Misalkan kita memiliki bingkai data berikut di R:

 #create data frame
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'D', 'D'),
                 position=c('G', 'G', 'F', 'G', 'F', 'C', 'C', 'C'),
                 points=c(12, 14, 19, 24, 36, 41, 18, 29))

#view data frame
df

  team position points
1 AG 12
2 AG 14
3 BF 19
4 BG 24
5 CF 36
6 CC 41
7 DC 18
8 DC 29

Sintaks berikut menunjukkan cara memfilter baris yang nama timnya tidak sama dengan “A” dan posisinya tidak sama dengan “C”:

 #filter for rows where team name is not 'A' and position is not 'C'
df %>%
filter (!team %in% c(' A ') & !position %in% c(' C '))

team position points
1 BF 19
2 BG 24
3 CF 36

Sumber daya tambahan

Tutorial berikut menjelaskan cara menjalankan fungsi umum lainnya di dplyr:

Cara menghapus baris menggunakan dplyr
Cara memilih kolom berdasarkan indeks menggunakan dplyr
Cara memfilter baris yang berisi string tertentu menggunakan dplyr

Tambahkan komentar

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