Cara memfilter data.tabel di r (dengan contoh)
Anda dapat menggunakan metode berikut untuk memfilter baris dari data.tabel di R:
Metode 1: Filter baris berdasarkan satu kondisi
dt[col1 == ' A ', ]
Metode 2: Filter baris yang berisi nilai dalam daftar
dt[col1 %in% c(' A ', ' C '), ]
Metode 3: Filter baris yang salah satu dari beberapa kondisinya terpenuhi
dt[col1 == ' A ' | col2 < 10 , ]
Metode 4: Filter baris yang memenuhi beberapa kondisi
dt[col1 == ' A ' & col2 < 10 , ]
Contoh berikut menunjukkan cara menggunakan setiap metode dalam praktik dengan data.table berikut di R:
library (data.table)
#create data table
dt <- data. table (team=c('A', 'A', 'A', 'B', 'C'),
points=c(99, 90, 86, 88, 95),
assists=c(33, 28, 31, 39, 34),
rebounds=c(30, 28, 24, 24, 28))
#view data table
dt
team points assists rebounds
1: A 99 33 30
2: A 90 28 28
3: A 86 31 24
4: B 88 39 24
5: C 95 34 28
Contoh 1: Filter baris berdasarkan suatu kondisi
Kode berikut menunjukkan cara memfilter hanya baris yang nilainya di kolom tim sama dengan “A”:
#filter for rows where team is A dt[team == ' A ', ] team points assists rebounds 1: A 99 33 30 2: A 90 28 28 3: A 86 31 24
Contoh 2: Filter baris yang berisi nilai dalam daftar
Kode berikut menunjukkan cara memfilter hanya baris yang nilainya di kolom tim sama dengan “A” atau “C”:
#filter for rows where team is A or C dt[team %in% c(' A ', ' C '), ] team points assists rebounds 1: A 99 33 30 2: A 90 28 28 3: A 86 31 24 4: C 95 34 28
Terkait: Cara Menggunakan Operator %in% di R (Dengan Contoh)
Contoh 3: Filter baris yang salah satu dari beberapa kondisinya terpenuhi
Kode berikut menunjukkan cara memfilter hanya baris yang nilainya di kolom tim sama dengan “A” atau nilai di kolom poin kurang dari 90:
#filter for rows where team is A or points < 90 dt[team == ' A ' | points < 90 , ] team points assists rebounds 1: A 99 33 30 2: A 90 28 28 3: A 86 31 24 4: B 88 39 24
Catatan : | Operator berarti “ATAU” dalam R.
Contoh 4: Filter baris yang memenuhi beberapa kondisi
Kode berikut menunjukkan cara memfilter hanya baris yang nilai di kolom tim sama dengan “A” dan nilai di kolom poin kurang dari 90:
#filter for rows where team is A and points < 90 dt[team == ' A ' & points < 90 , ] team points assists rebounds 1: A 86 31 24
Catatan : Operator & berarti “DAN” dalam R.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di R:
Cara memfilter vektor di R
Cara menghapus baris dengan nol di R
Cara menghapus baris kosong dari bingkai data di R