Najczęstsi artyści
Funkcja distinct() pokazuje unikalne wartości. Przydatne bywa też poznanie liczby wystąpień każdej z nich. W bazowym R służy do tego funkcja table(), jednak sparklyr jej nie obsługuje – nie wpisuje się ona w filozofię tidyverse, która zakłada przechowywanie wszystkiego w postaci tibble. Zamiast niej należy używać count(). Przekaż jej nieujęte w cudzysłów nazwy kolumn. Na przykład, aby znaleźć liczby unikalnych kombinacji kolumn x, y i z, wpisz:
a_tibble %>%
count(x, y, z)
Wynik jest taki sam jak w przypadku
a_tibble %>%
distinct(x, y, z)
… z tą różnicą, że pojawia się dodatkowa kolumna n zawierająca liczby wystąpień.
Bardzo praktyczne zastosowanie count() to wyszukiwanie najczęstszych wartości. W tym celu wywołaj count() z argumentem sort = TRUE, który posortuje wiersze malejąco według kolumny n, a następnie użyj slice_max(), aby ograniczyć wyniki do określonej liczby najwyższych wartości. (slice_max() działa podobnie do bazowej funkcji head(), ale obsługuje również zdalne zbiory danych, takie jak te przechowywane w Sparku.) Na przykład, aby uzyskać 20 najczęstszych kombinacji kolumn x, y i z, użyj poniższego kodu:
a_tibble %>%
count(x, y, z, sort = TRUE) %>%
slice_max(20)
To ćwiczenie jest częścią kursu
Wprowadzenie do Spark z pakietem sparklyr w R
Instrukcje do ćwiczenia
Połączenie ze Sparkiem zostało już utworzone i jest dostępne jako spark_conn. Tibble powiązany z metadanymi utworów przechowywanymi w Sparku jest wstępnie zdefiniowany jako track_metadata_tbl.
- Zlicz wartości w kolumnie
artist_nameztrack_metadata_tbl.- Przekaż
sort = TRUE, aby posortować wiersze malejąco według popularności.
- Przekaż
- Ogranicz wyniki do 20 najlepszych za pomocą
slice_max().
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# track_metadata_tbl has been pre-defined
track_metadata_tbl
track_metadata_tbl %>%
# Count the artist_name values
___ %>%
# Restrict to top 20
___