Memfilter baris
Selain memilih kolom, cara lain untuk mengekstrak bagian penting dari himpunan data Anda adalah dengan memfilter baris. Ini dilakukan menggunakan fungsi filter(). Untuk menggunakan filter(), Anda memberikannya sebuah tibble dan beberapa kondisi logika. Misalnya, untuk mengembalikan hanya baris yang nilai kolom x lebih besar dari nol dan nilai y sama dengan nilai z, Anda dapat menggunakan berikut ini.
a_tibble %>%
filter(x > 0, y == z)
Sebelum Anda mencoba latihan, perhatikan dua peringatan. Pertama, jangan keliru antara fungsi filter() milik dplyr dengan fungsi filter() milik paket stats. Kedua, sparklyr mengonversi kode dplyr Anda menjadi kode basis data SQL sebelum mengirimkannya ke Spark. Artinya, hanya sejumlah operasi pemfilteran yang saat ini didukung. Sebagai contoh, Anda tidak dapat memfilter baris bertipe karakter menggunakan regular expression dengan kode seperti
a_tibble %>%
filter(grepl("a regex", x))
Halaman bantuan untuk translate_sql() menjelaskan fungsionalitas yang tersedia. Anda boleh menggunakan operator perbandingan seperti >, !=, dan %in%; operator aritmetika seperti +, ^, dan %%; serta operator logika seperti &, |, dan !. Banyak fungsi matematika seperti log(), abs(), round(), dan sin() juga didukung.
Seperti sebelumnya, pengindeksan tanda kurung siku saat ini belum berfungsi.
Latihan ini merupakan bagian dari kursus
Pengantar Spark dengan sparklyr di R
Instruksi latihan
Sebuah koneksi Spark telah dibuat untuk Anda sebagai spark_conn. Sebuah tibble yang terhubung ke metadata trek yang disimpan di Spark telah didefinisikan sebelumnya sebagai track_metadata_tbl.
- Seperti pada latihan sebelumnya, pilih
artist_name,release,title, danyearmenggunakanselect(). - Pipe hasilnya ke
filter()untuk mendapatkan trek dari era 1960-an.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# track_metadata_tbl has been pre-defined
glimpse(track_metadata_tbl)
# Manipulate the track metadata
track_metadata_tbl %>%
# Select columns
___ %>%
# Filter rows
___