Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment organiser les lignes dans un ordre personnalisé à l’aide de dplyr



Vous pouvez utiliser la syntaxe de base suivante pour organiser les lignes d’un bloc de données dans un ordre personnalisé à l’aide du package dplyr dans R :

library(dplyr)

#arrange rows in custom order based on values in 'team' column
df %>%
  arrange(match(team, c('C', 'B', 'D', 'A')), points)

Cet exemple particulier organise les lignes en fonction de l’ordre personnalisé C, B, D, A pour les valeurs de la colonne d’équipe , puis selon les valeurs de la colonne de points par ordre croissant.

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : Comment organiser les lignes dans un ordre personnalisé à l’aide de dplyr

Supposons que nous ayons le bloc de données suivant qui montre les points marqués par les basketteurs de différentes équipes :

#create data frame
df <- data.frame(team=c('A', 'B', 'A', 'A', 'B', 'D', 'C', 'D', 'D', 'C'),
                 points=c(12, 20, 14, 34, 29, 22, 28, 15, 20, 13))

#view data frame
df

   team points
1     A     12
2     B     20
3     A     14
4     A     34
5     B     29
6     D     22
7     C     28
8     D     15
9     D     20
10    C     13

Si nous utilisons la fonction arrange() pour trier les lignes en fonction des valeurs de la colonne équipe , alors en fonction des valeurs de la colonne points , la fonction arrange() triera les lignes en fonction de l’ordre alphabétique par défaut :

library(dplyr)

#arrange rows in ascending order by team, then by points
df %>%
  arrange(team, points)

   team points
1     A     12
2     A     14
3     A     34
4     B     20
5     B     29
6     C     13
7     C     28
8     D     15
9     D     20
10    D     22

Les lignes sont classées par ordre alphabétique par équipe , puis par ordre croissant par points .

Cependant, supposons que nous souhaitions plutôt organiser les lignes en fonction de l’ordre suivant des valeurs d’équipe : C, B, D, A.

Nous pouvons utiliser la fonction match() dans la fonction arrange() pour ce faire :

library(dplyr)

#arrange rows in custom order based on 'team' column, then by 'points' column
df %>%
  arrange(match(team, c('C', 'B', 'D', 'A')), points)

   team points
1     C     13
2     C     28
3     B     20
4     B     29
5     D     15
6     D     20
7     D     22
8     A     12
9     A     14
10    A     34

Les lignes sont disposées dans l’ordre personnalisé que nous avons spécifié (C, B, D, A) pour la colonne équipe , puis par colonne de points .

Remarque n°1 : La fonction match obtient l’index de ligne des valeurs dans la colonne d’équipe, puis la fonction arrange est capable de trier en fonction de ces valeurs d’index.

Remarque n°2 : Pour organiser en fonction des valeurs de points décroissantes, utilisez simplement desc(points) à la place.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :

Comment organiser les lignes par groupe à l’aide de dplyr
Comment filtrer les valeurs uniques à l’aide de dplyr
Comment filtrer selon plusieurs conditions à l’aide de dplyr

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *