Common people
La funzione distinct() ti ha mostrato i valori unici. Può essere utile anche sapere quante volte compare ciascun valore. La funzione base R per farlo è table(); questa non è supportata in sparklyr perché non segue la filosofia tidyverse di mantenere tutto in tibbles. Al suo posto, devi usare count(). Per usarla, passa i nomi delle colonne senza virgolette. Ad esempio, per trovare i conteggi delle combinazioni distinte delle colonne x, y e z, digiteresti quanto segue.
a_tibble %>%
count(x, y, z)
Il risultato è lo stesso di
a_tibble %>%
distinct(x, y, z)
… tranne per il fatto che ottieni una colonna extra, n, che contiene i conteggi.
Un uso davvero utile di count() è ottenere i valori più comuni di qualcosa. Per farlo, chiami count() con l'argomento sort = TRUE, che ordina le righe in base ai valori decrescenti della colonna n, quindi usi slice_max() per limitare i risultati ai primi quanti-ne-vuoi valori. (slice_max() è simile a head() di base R, ma funziona con insiemi di dati remoti come quelli in Spark.) Ad esempio, per ottenere le prime 20 combinazioni più comuni delle colonne x, y e z, usa quanto segue.
a_tibble %>%
count(x, y, z, sort = TRUE) %>%
slice_max(20)
Questo esercizio fa parte del corso
Introduzione a Spark con sparklyr in R
Istruzioni dell'esercizio
È stata creata per te una connessione Spark come spark_conn. È stata predefinita una tibble collegata ai metadati delle tracce archiviati in Spark come track_metadata_tbl.
- Conta i valori nella colonna
artist_nameditrack_metadata_tbl.- Passa
sort = TRUEper ordinare le righe per popolarità decrescente.
- Passa
- Limita i risultati ai primi 20 usando
slice_max().
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# track_metadata_tbl has been pre-defined
track_metadata_tbl
track_metadata_tbl %>%
# Count the artist_name values
___ %>%
# Restrict to top 20
___