Common people
Fungsi distinct() menampilkan nilai-nilai unik. Ada kalanya berguna juga untuk mengetahui berapa banyak setiap nilai yang Anda punya. Fungsi base R untuk ini adalah table(); fungsi tersebut tidak didukung di sparklyr karena tidak sejalan dengan filosofi tidyverse yang menjaga semuanya dalam bentuk tibble. Sebagai gantinya, Anda harus menggunakan count(). Untuk menggunakannya, oper nama kolom tanpa tanda kutip. Misalnya, untuk mencari jumlah kombinasi unik kolom x, y, dan z, Anda dapat mengetik berikut ini.
a_tibble %>%
count(x, y, z)
Hasilnya sama dengan
a_tibble %>%
distinct(x, y, z)
… kecuali Anda mendapatkan satu kolom tambahan, n, yang berisi jumlahnya.
Kegunaan yang sangat baik dari count() adalah untuk memperoleh nilai-nilai yang paling umum. Untuk melakukannya, panggil count() dengan argumen sort = TRUE yang mengurutkan baris berdasarkan nilai kolom n secara menurun, lalu gunakan slice_max() untuk membatasi hasil pada sejumlah nilai teratas. (slice_max() mirip dengan head() di base R, tetapi bekerja dengan himpunan data jarak jauh seperti di Spark.) Sebagai contoh, untuk mendapatkan 20 kombinasi paling umum dari kolom x, y, dan z, gunakan berikut ini.
a_tibble %>%
count(x, y, z, sort = TRUE) %>%
slice_max(20)
Latihan ini merupakan bagian dari kursus
Pengantar Spark dengan sparklyr di R
Instruksi latihan
Sambungan 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.
- Hitung nilai pada kolom
artist_namedaritrack_metadata_tbl.- Berikan
sort = TRUEuntuk mengurutkan baris berdasarkan popularitas menurun.
- Berikan
- Batasi hasil ke 20 teratas menggunakan
slice_max().
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# track_metadata_tbl has been pre-defined
track_metadata_tbl
track_metadata_tbl %>%
# Count the artist_name values
___ %>%
# Restrict to top 20
___