Organiser, filtrer et regrouper les lignes dans R à laide de Dplyr

Organiser, filtrer et regrouper les lignes dans R à laide de Dplyr

Ce tutoriel est une continuation de la discussion sur le paquet dplyr . Vous apprendrez à organiser, filtrer et regrouper des lignes dans R.

La leçon précédente portait sur les opérations sur les colonnes. Cette fois, l'accent sera mis sur les opérations de ligne dans dplyr .

Nous aborderons les bases, notamment le tri et le filtrage d'un ensemble de données , ainsi que l'agrégation et la synthèse des enregistrements . Pour vous donner un aperçu de ce à quoi vous attendre pour cette leçon, pensez à un tableau croisé dynamique dans MS Excel.

Table des matières

Commencer

Ouvrez un nouveau script R dans RStudio.

Semblable à la leçon sur les opérations de colonne, cette démonstration utilisera le package d'ensemble de données Lahman . Téléchargez-le en faisant une recherche rapide sur Google.

Pour importer le package Lahman dans R, exécutez library (Lahman) . Pour activer le package dplyr , exécutez library (tidyverse) . N'oubliez pas non plus qu'une bonne pratique pour les conventions de nommage dans R consiste à utiliser des lettres minuscules, alors affectez Teams en teams .

Organiser, filtrer et regrouper les lignes dans R à l'aide de Dplyr

Fonctions de base pour les opérations sur les lignes

1. Disposer les lignes dans R

La première opération de ligne dans dpylr est arrange() . Cette fonction vous permet de réorganiser les lignes. Cela fonctionne en organisant d'abord le bloc de données df , puis les champs donnés.

Organiser, filtrer et regrouper les lignes dans R à l'aide de Dplyr

Par exemple, trions par teamID . Exécutez organiser (équipes, teamID) .

Organiser, filtrer et regrouper les lignes dans R à l'aide de Dplyr

Si vous souhaitez qu'ils soient classés par ordre décroissant, vous devez utiliser la fonction desc ( ) .

Par exemple, si vous souhaitez trier par année dans l'ordre décroissant, exécutez arrange (teams, desc(yearID)) .

Organiser, filtrer et regrouper les lignes dans R à l'aide de Dplyr

Lorsque vous faites cela, vous n'attribuez pas la sortie aux équipes . Vous voyez juste le résultat dans la console.

Il est également possible de trier selon plusieurs critères. Par exemple, si vous souhaitez trier par teamID puis yearID dans l'ordre décroissant, il vous suffit d'exécuter ce code :

Organiser, filtrer et regrouper les lignes dans R à l'aide de Dplyr

Lorsque vous triez des lignes, vous ne modifiez pas les données. Les données sont simplement déplacées. Rien n'est ajouté ou supprimé.

2. Filtrer les lignes dans R

La fonction filtre ( ) ajoute ou supprime des données en fonction des critères sélectionnés. Son code de base est :

Organiser, filtrer et regrouper les lignes dans R à l'aide de Dplyr

À titre d'exemple, récupérons toutes les données où l'ID de l'année est supérieur ou égal à 2000. Suivez le format de la fonction de filtre et saisissez les informations nécessaires. Ensuite, lancez-le. N'oubliez pas de l'affecter à un nouvel objet. Dans ce cas, il a été attribué à modern .

Organiser, filtrer et regrouper les lignes dans R à l'aide de Dplyr

Pour vérifier si les lignes ont bien été filtrées, vous pouvez utiliser la fonction dim() . Il donne le nombre de lignes et de colonnes dans le bloc de données.

Si vous exécutez dim (teams) , vous verrez que le bloc de données comporte 2 955 lignes et 48 colonnes.

Organiser, filtrer et regrouper les lignes dans R à l'aide de Dplyr

Si vous exécutez la fonction dim sur modern , vous verrez que le nombre de lignes a été réduit à 630 tandis que le nombre de colonnes reste le même.

Organiser, filtrer et regrouper les lignes dans R à l'aide de Dplyr

Les lignes ont été tronquées car certains des enregistrements vont au-delà de l'an 2000.

Filtrer les lignes par plusieurs champs

Il est également possible de filtrer les lignes par plusieurs champs dans R. Vous devrez utiliser les instructions AND et OR .

Par exemple, filtrons les équipes par zone. Dans ce cas, un nouvel objet ohio est créé. Les critères de filtrage sont que teamID ne doit inclure que Cleveland ET Cincinnati.

Organiser, filtrer et regrouper les lignes dans R à l'aide de Dplyr

Vous devez utiliser le double signe égal ( == ) pour vérifier l'égalité. Si vous n'utilisez qu'un seul signe égal, R le considérera comme un opérateur d'affectation. Utilisez l'esperluette ( & ) pour représenter ET.

Pour vérifier, utilisez la fonction dim . Vous verrez que le nombre de lignes est 0.

Organiser, filtrer et regrouper les lignes dans R à l'aide de Dplyr

Cela signifie qu'il n'y a pas d'équipes basées à Cleveland et à Cincinnati.

Ensuite, essayons le Cleveland OU Cincinnati. L'opérateur OR est représenté par l'opérateur pipe ( | ). Donc, tout ce que vous avez à faire est de remplacer l'esperluette par l'opérateur de tuyau, puis de l'exécuter. Ensuite, exécutez à nouveau la fonction dim .

Organiser, filtrer et regrouper les lignes dans R à l'aide de Dplyr

Vous verrez qu'il y a 251 lignes au lieu de zéro.

Maintenant, que se passe-t-il si vous oubliez d'utiliser un double signe égal et n'en utilisez qu'un à la place ? Voici ce qui se passe :

Organiser, filtrer et regrouper les lignes dans R à l'aide de Dplyr

RStudio affichera un message d'erreur très utile dans la console vous rappelant d'utiliser le double signe égal.

3. Grouper par et résumer les lignes dans R

La fonction Grouper par ( ) vous permet d'agréger les enregistrements par colonnes sélectionnées, puis, en fonction de cette agrégation, de résumer une autre colonne.

La fonction group by ( ) suit cet algorithme :

Organiser, filtrer et regrouper les lignes dans R à l'aide de Dplyr

Par exemple, regroupons par teamID et attribuons-le à un nouvel objet. Dans ce cas, le nouvel objet s'appelle teams_ID . Ensuite, imprimez-le.

Organiser, filtrer et regrouper les lignes dans R à l'aide de Dplyr

Dans la console, vous remarquerez que la première ligne indique que c'est un tibble .

Organiser, filtrer et regrouper les lignes dans R à l'aide de Dplyr

Un tibble est une amélioration tidyverse par rapport au bloc de données de base. C'est une fonctionnalité du package qui augmente et améliore ce qui est disponible par défaut.

La deuxième ligne est Groups . Ainsi, les données sont maintenant regroupées par la colonne teamID.

Organiser, filtrer et regrouper les lignes dans R à l'aide de Dplyr

Et avec cela, vous pouvez maintenant utiliser la fonction résumer ( ) sur ces groupes.

Organiser, filtrer et regrouper les lignes dans R à l'aide de Dplyr

Remarque : la fonction de résumé peut être soit avec un s ou un z, et dépendra de l'utilisation de l'anglais britannique ou américain.

Par exemple, résumons teams_ID et obtenons quelques statistiques récapitulatives de base. Cherchons la moyenne, le minimum et le maximum des victoires pour chaque équipe. N'oubliez pas de mettre en surbrillance l'intégralité du code avant de choisir Exécuter .

Organiser, filtrer et regrouper les lignes dans R à l'aide de Dplyr

Vous pouvez alors voir dans la console qu'un résumé des statistiques de chaque équipe s'affiche. Ceci est très similaire à un tableau croisé dynamique dans lequel vous agrégez et récapitulez des données.


Cadres de données dans R : Apprendre les bases
Niveaux de facteurs dans R : Utiliser des variables catégorielles et ordinales
Ajouter, supprimer et renommer des colonnes dans R à l'aide de dplyr

Conclusion

Pour récapituler, deux opérations dans dplyr ont été discutées. Un didacticiel précédent portait sur les opérations de colonne. Pendant ce temps, cette leçon actuelle vous a montré comment effectuer des opérations sur les lignes à l'aide du package dplyr dans RStudio. Plus précisément, vous avez appris à organiser, filtrer et regrouper des lignes dans R.

La prochaine chose à apprendre est de savoir comment combiner ces deux opérations. L'utilisation de toutes les fonctions que vous avez apprises jusqu'à présent vous aidera grandement à créer des codes dans R. Cependant, une technique plus utile serait un pipeline. Cela aidera tout à couler ensemble. Assurez-vous donc de consulter également les prochains tutoriels.


Quest-ce que le self en Python ? Exemples concrets

Quest-ce que le self en Python ? Exemples concrets

Qu'est-ce que le self en Python ? Exemples concrets

Comment enregistrer et charger un fichier RDS dans R

Comment enregistrer et charger un fichier RDS dans R

Vous apprendrez à enregistrer et à charger des objets à partir d'un fichier .rds dans R. Ce blog expliquera également comment importer des objets de R vers LuckyTemplates.

First N Business Days Revisited - Une solution de langage de codage DAX

First N Business Days Revisited - Une solution de langage de codage DAX

Dans ce didacticiel sur le langage de codage DAX, découvrez comment utiliser la fonction GENERATE et comment modifier dynamiquement le titre d'une mesure.

Présentez des informations à laide de la technique des visuels dynamiques multi-threads dans LuckyTemplates

Présentez des informations à laide de la technique des visuels dynamiques multi-threads dans LuckyTemplates

Ce didacticiel explique comment utiliser la technique Multi Threaded Dynamic Visuals pour créer des informations à partir de visualisations de données dynamiques dans vos rapports.

Introduction au filtrage du contexte dans LuckyTemplates

Introduction au filtrage du contexte dans LuckyTemplates

Dans cet article, je vais parcourir le contexte du filtre. Le contexte de filtrage est l'un des principaux sujets que tout utilisateur de LuckyTemplates doit d'abord connaître.

Meilleurs conseils pour utiliser les applications dans le service en ligne LuckyTemplates

Meilleurs conseils pour utiliser les applications dans le service en ligne LuckyTemplates

Je souhaite montrer comment le service en ligne LuckyTemplates Apps peut aider à gérer différents rapports et informations générés à partir de diverses sources.

Analyser les changements de marge bénéficiaire au fil du temps - Analytics avec LuckyTemplates et DAX

Analyser les changements de marge bénéficiaire au fil du temps - Analytics avec LuckyTemplates et DAX

Découvrez comment calculer les modifications de votre marge bénéficiaire à l'aide de techniques telles que la création de branches de mesure et la combinaison de formules DAX dans LuckyTemplates.

Idées de matérialisation pour les caches de données dans DAX Studio

Idées de matérialisation pour les caches de données dans DAX Studio

Ce didacticiel abordera les idées de matérialisation des caches de données et comment elles affectent les performances des DAX dans la fourniture de résultats.

Rapports dentreprise à laide de LuckyTemplates

Rapports dentreprise à laide de LuckyTemplates

Si vous utilisez encore Excel jusqu'à présent, c'est le meilleur moment pour commencer à utiliser LuckyTemplates pour vos besoins en matière de rapports commerciaux.

Quest-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir

Quest-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir

Qu'est-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir