Nejčastější jména
Funkce distinct() ti ukázala unikátní hodnoty. Někdy je ale užitečné vědět, kolikrát se každá hodnota vyskytuje. V základním R se na to používá table(), jenže ta v sparklyr není podporována — neodpovídá filozofii tidyverse, která drží všechno v tibblu. Místo toho použij count(). Stačí jí předat názvy sloupců bez uvozovek. Například pro spočítání unikátních kombinací sloupců x, y a z napíšeš:
a_tibble %>%
count(x, y, z)
Výsledek je podobný jako u
a_tibble %>%
distinct(x, y, z)
… jen navíc dostaneš sloupec n s počty výskytů.
Skvělé využití count() je hledání nejčastějších hodnot. Zavolej count() s argumentem sort = TRUE, který seřadí řádky sestupně podle sloupce n, a pak použij slice_max() k omezení výsledků na požadovaný počet. (slice_max() funguje podobně jako základní head() v R, ale podporuje vzdálené datové sady, jako jsou ty ve Sparku.) Například pro získání 20 nejčastějších kombinací sloupců x, y a z použiješ:
a_tibble %>%
count(x, y, z, sort = TRUE) %>%
slice_max(20)
Toto cvičení je součástí kurzu
Úvod do Sparku se sparklyr v R
Pokyny k cvičení
Spark připojení je pro tebe připraveno jako spark_conn. Tibble napojený na metadata skladeb uložená ve Sparku je předem definován jako track_metadata_tbl.
- Spočítej hodnoty ve sloupci
artist_nameztrack_metadata_tbl.- Předej
sort = TRUE, aby se řádky seřadily sestupně podle popularity.
- Předej
- Omez výsledky na top 20 pomocí
slice_max().
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# track_metadata_tbl has been pre-defined
track_metadata_tbl
track_metadata_tbl %>%
# Count the artist_name values
___ %>%
# Restrict to top 20
___