Cara menggunakan select_if dengan beberapa kondisi di dplyr


Anda dapat menggunakan sintaks dasar berikut dengan fungsi select_if() dari paket dplyr untuk memilih kolom dalam bingkai data yang memenuhi salah satu dari beberapa kondisi:

 df %>% select_if( function (x) condition1 | condition2)

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh 1: Gunakan select_if() dengan tipe kelas

Kode berikut menunjukkan cara menggunakan fungsi select_if() untuk memilih kolom dalam bingkai data yang memiliki tipe kelas karakter atau numerik :

 library (dplyr)

#create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E'),
                 conference=as. factor (c('W', 'W', 'W', 'E', 'E')),
                 points_for=c(99, 90, 86, 88, 95),
                 points_against=c(91, 80, 88, 86, 93))

#select all character and numeric columns
df %>% select_if( function (x) is. character (x) | is. numeric (x))

  team points_for points_against
1 A 99 91
2 B 90 80
3 C 86 88
4 D 88 86
5 E 95 93

Perhatikan bahwa kolom satu karakter ( team ) dan dua kolom numerik ( points_for dan points_against ) dikembalikan sedangkan kolom faktor ( conference ) tidak dikembalikan.

Contoh 2: Gunakan select_if() dengan tipe kelas dan nama kolom

Kode berikut menunjukkan cara menggunakan fungsi select_if() untuk memilih kolom dalam bingkai data yang memiliki tipe kelas faktor atau nama kolom points_for :

 library (dplyr)

#create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E'),
                 conference=as. factor (c('W', 'W', 'W', 'E', 'E')),
                 points_for=c(99, 90, 86, 88, 95),
                 points_against=c(91, 80, 88, 86, 93))

#select all factor columns and 'points_for' column
df %>% select_if( function (x) is. factor (x) | all(x == .$points_for))

  conference points_for
1 W 99
2W 90
3 W 86
4 E 88
5 E 95

Perhatikan bahwa kolom satu faktor dan kolom berlabel points_for dikembalikan.

Catatan : | simbol adalah operator logis “ATAU” di R. Silakan gunakan sebanyak | simbol karena Anda ingin memilih kolom menggunakan lebih dari dua kondisi.

Sumber daya tambahan

Tutorial berikut menjelaskan cara menggunakan fungsi umum lainnya di dplyr:

Cara menggunakan fungsicross() di dplyr
Cara menggunakan fungsi relokasi() di dplyr
Cara menggunakan fungsi irisan() di dplyr

Tambahkan komentar

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