LoslegenKostenlos loslegen

Common people

Die Funktion distinct() hat dir die eindeutigen Werte gezeigt. Oft ist es auch hilfreich zu wissen, wie viele Vorkommen jedes Werts es gibt. Die Base-R-Funktion dafür ist table(); sie wird in sparklyr nicht unterstützt, da sie nicht der tidyverse-Philosophie entspricht, alles in Tibbles zu halten. Stattdessen musst du count() verwenden. Dafür übergibst du die unzitierten Namen der Spalten. Um zum Beispiel die Häufigkeiten eindeutiger Kombinationen der Spalten x, y und z zu ermitteln, würdest du Folgendes schreiben.

a_tibble %>%
  count(x, y, z)

Das Ergebnis entspricht

a_tibble %>%
  distinct(x, y, z)

… mit dem Unterschied, dass du eine zusätzliche Spalte n mit den Zählwerten erhältst.

Eine sehr praktische Anwendung von count() ist es, die am häufigsten vorkommenden Werte zu bekommen. Dazu rufst du count() mit dem Argument sort = TRUE auf, wodurch die Zeilen nach absteigenden Werten der Spalte n sortiert werden, und nutzt anschließend slice_max(), um die Ergebnisse auf die obersten, beliebig vielen Werte zu begrenzen. (slice_max() ist ähnlich wie head() in Base R, funktioniert aber mit entfernten Datensätzen wie denen in Spark.) Um beispielsweise die 20 häufigsten Kombinationen der Spalten x, y und z zu erhalten, verwendest du Folgendes.

a_tibble %>%
  count(x, y, z, sort = TRUE) %>%
  slice_max(20)

Diese Übung ist Teil des Kurses

Einführung in Spark mit sparklyr in R

Kurs anzeigen

Anleitung zur Übung

Eine Spark-Verbindung wurde als spark_conn für dich erstellt. Ein an die in Spark gespeicherten Track-Metadaten angebundenes Tibble wurde als track_metadata_tbl vordefiniert.

  • Zähle die Werte in der Spalte artist_name aus track_metadata_tbl.
    • Übergebe sort = TRUE, um die Zeilen nach absteigender Popularität zu sortieren.
  • Beschränke die Ergebnisse mithilfe von slice_max() auf die Top 20.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# track_metadata_tbl has been pre-defined
track_metadata_tbl

track_metadata_tbl %>%
  # Count the artist_name values
  ___ %>%
  # Restrict to top 20
  ___
Code bearbeiten und ausführen