Filtrer des lignes
En plus de sélectionner des colonnes, l’autre manière d’extraire les éléments importants de votre jeu de données consiste à filtrer les lignes. Cela se fait avec la fonction filter(). Pour utiliser filter(), vous lui passez un tibble et des conditions logiques. Par exemple, pour ne retourner que les lignes où les valeurs de la colonne x sont supérieures à zéro et où les valeurs de y sont égales à celles de z, vous utiliseriez ce qui suit.
a_tibble %>%
filter(x > 0, y == z)
Avant de commencer l’exercice, gardez à l’esprit deux avertissements. Premièrement, ne confondez pas la fonction filter() de dplyr avec la fonction filter() du package stats. Deuxièmement, sparklyr convertit votre code dplyr en code SQL avant de l’envoyer à Spark. Cela signifie qu’un nombre limité d’opérations de filtrage est actuellement pris en charge. Par exemple, vous ne pouvez pas filtrer des lignes de caractères à l’aide d’expressions régulières avec du code comme
a_tibble %>%
filter(grepl("a regex", x))
La page d’aide de translate_sql() décrit les fonctionnalités disponibles. Vous pouvez utiliser les opérateurs de comparaison comme >, != et %in% ; les opérateurs arithmétiques comme +, ^ et %% ; ainsi que les opérateurs logiques comme &, | et !. De nombreuses fonctions mathématiques telles que log(), abs(), round() et sin() sont également prises en charge.
Comme précédemment, l’indexation avec crochets n’est actuellement pas prise en charge.
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 pistes stockées dans Spark a été pré‑défini sous le nom track_metadata_tbl.
- Comme dans l’exercice précédent, sélectionnez
artist_name,release,titleetyearavecselect(). - Faites suivre le résultat par
filter()pour obtenir les morceaux des années 1960.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# track_metadata_tbl has been pre-defined
glimpse(track_metadata_tbl)
# Manipulate the track metadata
track_metadata_tbl %>%
# Select columns
___ %>%
# Filter rows
___