Cei mai frecvenți artiști
Funcția distinct() îți arată valorile unice. Uneori este util să știi și câte valori ai din fiecare tip. Funcția de bază din R pentru asta este table(), însă aceasta nu este compatibilă cu sparklyr, deoarece nu respectă filozofia tidyverse de a păstra totul în tibble-uri. În schimb, trebuie să folosești count(). Pasează-i numele coloanelor, fără ghilimele. De exemplu, pentru a număra combinațiile distincte ale coloanelor x, y și z, scrii:
a_tibble %>%
count(x, y, z)
Rezultatul este similar cu
a_tibble %>%
distinct(x, y, z)
… cu diferența că vei obține o coloană suplimentară, n, care conține numărul de apariții.
O utilizare foarte practică a funcției count() este să identifici cele mai frecvente valori. Pentru asta, apelezi count() cu argumentul sort = TRUE, care sortează rândurile în ordine descrescătoare după coloana n, apoi folosești slice_max() pentru a reține doar primele rezultate. (slice_max() este similar cu head() din R de bază, dar funcționează și cu seturi de date aflate la distanță, precum cele din Spark.) De exemplu, pentru a obține cele mai frecvente 20 de combinații ale coloanelor x, y și z, folosești:
a_tibble %>%
count(x, y, z, sort = TRUE) %>%
slice_max(20)
Acest exercițiu face parte din cursul
Introducere în Spark cu sparklyr în R
Instrucțiuni pentru exercițiu
O conexiune Spark a fost creată pentru tine ca spark_conn. Un tibble atașat la metadatele pistelor stocate în Spark a fost predefinit ca track_metadata_tbl.
- Numără valorile din coloana
artist_namedintrack_metadata_tbl.- Pasează
sort = TRUEpentru a sorta rândurile în ordine descrescătoare după popularitate.
- Pasează
- Restricționează rezultatele la primele 20 folosind
slice_max().
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# track_metadata_tbl has been pre-defined
track_metadata_tbl
track_metadata_tbl %>%
# Count the artist_name values
___ %>%
# Restrict to top 20
___