Mulai sekarangMulai gratis

Grup: bagus untuk musik, bagus untuk data

Masalah analisis yang umum adalah cara menghitung statistik ringkas untuk setiap kelompok data. Misalnya, Anda mungkin ingin mengetahui pendapatan penjualan per bulan atau per wilayah. Di R, proses memecah data ke dalam kelompok, menerapkan statistik ringkas pada setiap kelompok, lalu menggabungkan hasilnya menjadi satu struktur data, dikenal sebagai "split-apply-combine". Namun konsep ini jauh lebih lama: SQL telah memiliki pernyataan GROUP BY selama beberapa dekade. Istilah "map-reduce" memiliki konsep yang serupa, di mana "map" kurang lebih analog dengan langkah "split" dan "apply", sedangkan "reduce" berarti "combine". Pendekatan dplyr/sparklyr adalah menggunakan group_by() sebelum Anda melakukan mutate() atau summarize(). Fungsi ini menerima nama kolom tanpa tanda kutip untuk dijadikan dasar pengelompokan. Misalnya, untuk menghitung nilai rata-rata kolom x untuk setiap kombinasi nilai pada kolom grp1 dan grp2, Anda akan menuliskan kode berikut.

a_tibble %>%
  group_by(grp1, grp2) %>%
  summarize(mean_x = mean(x))

Perhatikan bahwa kolom yang diberikan ke group_by() umumnya sebaiknya berupa variabel kategorikal. Sebagai contoh, jika Anda ingin menghitung berat rata-rata orang relatif terhadap tinggi badan, tidak masuk akal untuk mengelompokkan berdasarkan tinggi karena tinggi tiap orang unik. Namun, Anda dapat menggunakan cut() untuk mengonversi tinggi badan ke dalam beberapa kategori, lalu menghitung berat rata-rata untuk setiap kategori.

Latihan ini merupakan bagian dari kursus

Pengantar Spark dengan sparklyr di R

Lihat Kursus

Instruksi latihan

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.

  • Kelompokkan isi track_metadata berdasarkan artist_name, lalu:
    • Ringkas rata-rata duration per grup sebagai kolom baru, mean_duration.
    • Simpan hasilnya ke duration_by_artist.
  • Temukan artis dengan lagu terpendek dengan mengurutkan baris berdasarkan mean_duration secara menaik.
  • Demikian pula, temukan artis dengan lagu terpanjang dengan mengurutkan secara menurun berdasarkan mean_duration.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

# track_metadata_tbl has been pre-defined
track_metadata_tbl

duration_by_artist <- track_metadata_tbl %>%
  # Group by artist
  ___ %>%
  # Calc mean duration
  ___

duration_by_artist %>%
  # Sort by ascending mean duration
  ___

duration_by_artist %>%
  # Sort by descending mean duration
  ___
Edit dan Jalankan Kode