BaşlayınÜcretsiz başlayın

Gruplar: müzik için harika, veri için harika

Yaygın bir analiz sorusu, her veri grubuna ait özet istatistikleri nasıl hesaplayacağıdır. Örneğin, satış gelirlerini aya veya bölgeye göre bilmek isteyebilirsin. R'de, veriyi gruplara ayırma, her gruba bir özet istatistik uygulama ve sonuçları tek bir veri yapısında birleştirme süreci "split-apply-combine" olarak bilinir. Kavram aslında çok daha eskidir: SQL onlarca yıldır GROUP BY ifadesine sahiptir. "Map-reduce" terimi de benzer bir kavramdır; burada "map" kabaca "böl" ve "uygula" adımlarına, "reduce" ise "birleştirme"ye karşılık gelir. dplyr/sparklyr yaklaşımı, mutate() veya summarize() etmeden önce group_by() kullanmaktır. Gruplamak istediğin sütunların tırnaksız adlarını alır. Örneğin, grp1 ve grp2 sütunlarındaki değerlerin her kombinasyonu için x sütununun ortalamasını hesaplamak istersen aşağıdaki gibi yazarsın.

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

group_by() içine verilen sütunların genellikle kategorik değişkenler olması gerektiğini unutma. Örneğin, insanların boylarına göre ortalama ağırlıklarını hesaplamak istiyorsan, herkesin boyu benzersiz olduğu için boya göre gruplamak mantıklı değildir. Ancak, boyları farklı kategorilere dönüştürmek için cut() kullanabilir ve her kategori için ortalama ağırlığı hesaplayabilirsin.

Bu egzersiz, kursun bir parçasıdır

R ile sparklyr kullanarak Spark’a Giriş

Kursa Göz Atın

Egzersiz talimatları

Senin için spark_conn olarak bir Spark bağlantısı oluşturuldu. Spark'ta saklanan parça metaverisine bağlı bir tibble, track_metadata_tbl olarak önceden tanımlandı.

  • track_metadata içeriğini artist_namee göre grupla, ardından:
    • durationın grup bazındaki ortalamasını yeni bir sütun mean_duration olarak özetle.
    • Sonuçları duration_by_artista ata.
  • Satırları mean_durationa göre artan sırada düzenleyerek en kısa şarkılara sahip sanatçıları bul.
  • Benzer şekilde, mean_durationa göre azalan sırada düzenleyerek en uzun şarkılara sahip olanları bul.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# 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
  ___
Kodu Düzenle ve Çalıştır