Bonjour, je m'appelle David Christensen, et dans ces leçons, vous apprendrez à manipuler les données avec filtrage, résumer et fusionner. Et vous apprendrez également à travailler avec les valeurs manquantes. Dans cette leçon, je vais vous montrer comment filtrer les données. Commençons par quelques exemples de données. Pour les besoins de cette démonstration, nous utiliserons le Ensemble de données mtcars, intégré à R. Il n’est donc pas nécessaire de charger quoi que ce soit de spécial pour suivre. Pour voir l'ensemble de données mtcars, vous pouvez simplement taper mtcars dans le champ console. Cela génère l’ensemble de données. Alors, quelles sont ces données ? Eh bien, il s'agit d'une trentaine d'observations environ véhicules parus dans le magazine Motor Trend en 1974. Vous pouvez voir les noms des véhicules sous forme de noms de lignes. Jetons un coup d'œil rapide à certaines des colonnes. Les colonnes incluent MPG ou miles par gallon, CYL, qui est le nombre de cylindres, cylindrée du moteur en pouces cubes, puissance, le poids du véhicule, type de transmission, avec un autre véhicule les attributs. Supposons maintenant que nous souhaitions nous concentrer uniquement sur les cinq premières lignes de données et ignorer tout le reste. Pour cela, nous pouvons utiliser la fonction head. C'est la tête, puis ouvrez les parenthèses, suivi des données que nous souhaitons filtrer. Dans ce cas, mtcars, puis une virgule, puis n est égal à cinq, en fermant les parenthèses. Je vais appuyer sur Contrôle Entrée pour exécuter cette ligne de code. Et c'est reparti. Nous avons les cinq premières lignes de l'ensemble de données. Si nous voulions un nombre de lignes différent, nous aurions pu saisir une valeur n différente à la place. Cela aurait pu être 10 ou 15 ou 100 ou autant de lignes du données que nous voulions voir. Et si nous voulions voir les cinq dernières lignes de l'ensemble de données au lieu des cinq premières lignes ? Eh bien, nous pourrions utiliser la fonction tail. Tail renverra les dernières lignes selon vos spécifications. Pour obtenir les dernières lignes, vous pouvez taper tail, parenthèses, les voitures, puis une virgule, et puis vous l'avez deviné, n est égal à cinq, suivi d'une parenthèse fermante. Je vais appuyer sur contrôle et entrer, et cela affichera les cinq dernières lignes. La tête et la queue sont pratiques. Je les utilise tout le temps quand je veux juste voir le premier ou les dernières lignes d'un ensemble de données. Mais pour un filtrage robuste, nous devrons apprendre le filtrage par index ou avec des vecteurs logiques. Jetons un coup d'œil à ceux-ci. Pour introduire le filtrage d'index, disons que nous voulons uniquement le de la sixième à la dixième ligne de l'ensemble de données mtcars. Les fonctions tête et queue ne fonctionneront pas pour ça, mais nous pourrions ramer et un filtre de colonne pour les données souhaitées. Pour filtrer par index, on va d'abord taper mtcars, suivi d'un crochet, puis à l'intérieur du crochet, nous taperons l'index pour ce que nous voulons filtrer. Essayons rapidement en tapant six deux-points 10. Six deux points 10, c'est la même chose que si nous avions entré six, sept, huit, neuf et dix. Exécutons six deux-points 10 sur sa propre ligne pour que vous puissiez voir cela dans action. Comme vous pouvez le voir, nous obtenons six, sept, huit, neuf, 10. D'accord, nous allons donc mettre six deux-points 10 entre crochets, puis nous allons taper un crochet fermant, appuyer sur Ctrl et entrer. Qu'avons-nous obtenu ? Dans la sortie, nous voyons toutes les lignes, mais seulement la sixième jusqu'au 10e colonne, ainsi que les étiquettes des lignes. Bien, ce n'est pas tout à fait ce que nous souhaitons. Pour obtenir les lignes au lieu des colonnes, nous devrons ajouter un virgule après le 10, puis exécutez le code. Allons-y et essayons ceci. Nous obtenons maintenant les lignes correctes par valeur d'index. Un petit point que je voulais ajouter, on peut filtrer par colonne et les valeurs d'index en même temps. Les valeurs d'index de colonne peuvent être ajoutées après la virgule. Si nous voulons seulement les deux premières colonnes de données et la sixième jusqu'à la 10ème ligne, nous pouvons ajouter un deux-points après le virgule. Allons-y et exécutons ce code. Wagons vides, crochets, six deux-points 10, virgule, un côlon deux, crochet fermant. Super. Cela renvoie deux colonnes, la colonne MPG, ainsi que le colonne de cylindre pour la sixième à la 10ème rangée. Maintenant que nous comprenons la syntaxe du filtrage d'index, nous pouvons commencer à ajouter des opérateurs logiques pour déterminer le valeurs d'index que nous voulons utiliser. Considérons ce qui suit. Disons que nous voulons ramener des rangées de voitures vides là où des kilomètres par gallon est supérieur à 25. Nous voulons savoir quelles sont les rangées réservées aux voitures qui ont du bon carburant. kilométrage selon les normes de 1974. Voici ce que nous pouvons faire. Nous pouvons saisir la fonction which et dans laquelle nous pouvons saisir des voitures vides, le signe dollar, puis MPG. Nous avons donc une colonne MPG de voitures vides et nous voulons exprimer qui est supérieur à 25. Renvoyons cette ligne de code. Il renvoie les numéros de ligne souhaités, lignes 18, 19, 20, 26, 27, et 28. Ce sont les valeurs d’index dont nous avons besoin. Nous pourrions aller de l'avant et placer ces valeurs entre nos support pour filtrer. Par exemple, voitures vides, crochet, 18, virgule, le crochet fermant filtrera pour afficher la première ligne que nous voulons, mais nous n'avons pas besoin de faire ça. Nous pouvons écrire notre filtre juste entre nos crochets. Allons-y et faisons-le. Nous avons donc des voitures vides, crochets, lequel, parenthèses, voitures vides, signe dollar, MPG, supérieur à 25, parenthèses fermantes, virgule, puis crochet fermant. Nous allons continuer, appuyer sur Contrôle et entrer en même temps temps. Et maintenant, nous avons réussi à filtrer nos données pour afficher uniquement voitures avec des miles par gallon supérieurs à 25. Maintenant que nous avons examiné le filtrage d'index, voyons comment nous peut exprimer la même chose, mais avec moins de code. Rappelez-vous, l'instruction which renvoyait les numéros de ligne 18, 19, 20, 26, 27 et 28. Supprimons l'instruction which et tapons simplement vide voitures, signe dollar, MPG, supérieur à 25, et appuyez sur contrôle et entrer. En sortie, nous obtenons un vecteur logique. On obtient des valeurs faux, faux, faux, faux, faux, faux, faux, faux, faux, faux, jusqu'à la 18ème valeur de la liste, ce qui est vrai. Les 18ème, 19ème, 20ème, 26ème, 27ème et 28ème valeurs affichent toutes comme vrai. Nous pouvons ajouter ce vecteur logique entre nos crochets à filtre. Pour le plaisir, allons-y et faisons-le. Voici ce vecteur logique collé entre crochets. Et si nous exécutons cette ligne de code, nous obtiendrons les lignes où miles par gallon est supérieur à 25. Mais au lieu de taper ce long vecteur logique entre nos crochets, nous pourrions simplement taper les voitures vides, crochet, voitures vides, signe dollar, MPG, supérieur à 25, virgule, fermeture crochet et exécutez cette ligne de code. Comme auparavant, nous avons réussi à filtrer les voitures vides pour ne retenir que afficher les lignes où les miles par gallon sont supérieurs à 25. Une chose à garder à l’esprit avec les vecteurs logiques est qu’ils peut être recyclé. Je veux dire par là que les vecteurs de vrais et de faux font Il n'est pas nécessaire que les données soient de la même longueur que les données qu'ils filtrent. Vous pouvez, par exemple, taper false, false, true pour renvoyer tous les trois rangs. Ou false, true pour renvoyer une ligne sur deux. Ou true pour renvoyer toutes les lignes. Ou false pour ne renvoyer aucune ligne. Tout cela est entre crochets. Ce type de filtrage s'avère très utile dans des situations telles que comme lors du filtrage des lignes paires ou impaires. Mais cela pourrait aussi être mal appliqué si vous disposez d'un test logique qui a une longueur différente de celle des données que vous filtrez. Dans la prochaine vidéo, nous verrons comment combiner plusieurs filtres ensemble, puis création de résumés sur le données filtrées. Merci d'avoir regardé.