Kom igångKom igång gratis

Vanliga förekomster

Funktionen distinct() visade dig de unika värdena. Det kan också vara användbart att veta hur många av varje värde du har. Bas-R-funktionen för detta är table(), men den stöds inte i sparklyr eftersom den inte följer tidyverse-filosofin om att hålla allt i tibbles. Istället måste du använda count(). Skicka in kolumnnamnen utan citattecken som argument. Till exempel, för att räkna distinkta kombinationer av kolumnerna x, y och z, skriver du följande.

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

Resultatet är detsamma som

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

… förutom att du får en extra kolumn, n, som innehåller antalet förekomster.

Ett praktiskt användningsområde för count() är att hitta de vanligaste värdena. Du anropar count() med argumentet sort = TRUE, vilket sorterar raderna i fallande ordning efter kolumnen n, och använder sedan slice_max() för att begränsa resultatet till de översta värdena. (slice_max() liknar bas-R:s head(), men fungerar med fjärrdatamängder som de i Spark.) För att till exempel hämta de 20 vanligaste kombinationerna av kolumnerna x, y och z använder du följande.

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

Den här övningen är en del av kursen

Introduktion till Spark med sparklyr i R

Visa kurs

Övningsinstruktioner

En Spark-anslutning har skapats åt dig som spark_conn. En tibble kopplad till spårmetadata lagrad i Spark har fördefinierat som track_metadata_tbl.

  • Räkna värdena i kolumnen artist_name från track_metadata_tbl.
    • Skicka sort = TRUE för att sortera raderna efter fallande popularitet.
  • Begränsa resultatet till de 20 översta med hjälp av slice_max().

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# track_metadata_tbl has been pre-defined
track_metadata_tbl

track_metadata_tbl %>%
  # Count the artist_name values
  ___ %>%
  # Restrict to top 20
  ___
Redigera och kör kod