Common people
La fonction distinct() vous a montré les valeurs uniques. Il peut aussi être utile de savoir combien vous avez de chaque valeur. La fonction base R pour cela est table() ; elle n’est pas prise en charge dans sparklyr car elle ne s’inscrit pas dans la philosophie du tidyverse consistant à tout conserver dans des tibbles. À la place, vous devez utiliser count(). Pour l’utiliser, passez les noms de colonnes non quotés. Par exemple, pour obtenir les effectifs des combinaisons distinctes des colonnes x, y et z, vous saisiriez ce qui suit.
a_tibble %>%
count(x, y, z)
Le résultat est le même que
a_tibble %>%
distinct(x, y, z)
… à ceci près que vous obtenez une colonne supplémentaire, n, qui contient les effectifs.
Une utilisation très pratique de count() est d’obtenir les valeurs les plus fréquentes. Pour cela, vous appelez count() avec l’argument sort = TRUE, qui trie les lignes par ordre décroissant de la colonne n, puis vous utilisez slice_max() pour limiter les résultats aux premières valeurs, selon le nombre souhaité. (slice_max() est similaire à head() de base R, mais fonctionne avec des jeux de données distants, comme ceux de Spark.) Par exemple, pour obtenir les 20 combinaisons les plus fréquentes des colonnes x, y et z, utilisez ce qui suit.
a_tibble %>%
count(x, y, z, sort = TRUE) %>%
slice_max(20)
Cet exercice fait partie du cours
Introduction à Spark avec sparklyr en R
Instructions
Une connexion Spark a été créée pour vous sous le nom spark_conn. Un tibble lié aux métadonnées des morceaux stockées dans Spark a été pré‑défini sous le nom track_metadata_tbl.
- Comptez les valeurs de la colonne
artist_namedetrack_metadata_tbl.- Passez
sort = TRUEpour trier les lignes par popularité décroissante.
- Passez
- Limitez les résultats aux 20 premiers à l’aide de
slice_max().
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# track_metadata_tbl has been pre-defined
track_metadata_tbl
track_metadata_tbl %>%
# Count the artist_name values
___ %>%
# Restrict to top 20
___