Comment trier par plusieurs colonnes dans R (avec exemples)
Vous pouvez utiliser l’une des méthodes suivantes pour trier un bloc de données sur plusieurs colonnes dans R :
Méthode 1 : utiliser Base R
df[order(-df$column1, df$column2), ]
Méthode 2 : utiliser dplyr
library(dplyr) df %>% arrange(desc(column1), column2)
Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le bloc de données suivant :
#create data frame df <- data.frame(team=c('A', 'B', 'C', 'D', 'E', 'F', 'G'), points=c(90, 90, 93, 91, 91, 99, 85), assists=c(33, 28, 31, 39, 34, 40, 44)) #view data frame df team points assists 1 A 90 33 2 B 90 28 3 C 93 31 4 D 91 39 5 E 91 34 6 F 99 40 7 G 85 44
Méthode 1 : utiliser Base R
Le code suivant montre comment trier le bloc de données en base R par points décroissants (du plus grand au plus petit), puis par assistances ascendantes :
#sort by points descending, then by assists ascending
df[order(-df$points, df$assists), ]
team points assists
6 F 99 40
3 C 93 31
5 E 91 34
4 D 91 39
2 B 90 28
1 A 90 33
7 G 85 44
Notez que les lignes du bloc de données sont classées par points du plus grand au plus petit, puis par assistances du plus petit au plus grand.
Méthode 2 : utiliser dplyr
Le code suivant montre comment utiliser les fonctions du package dplyr pour trier le bloc de données par points décroissants (du plus grand au plus petit), puis par assistance ascendante :
library(dplyr)
df %>%
arrange(desc(points), assists)
team points assists
1 F 99 40
2 C 93 31
3 E 91 34
4 D 91 39
5 B 90 28
6 A 90 33
7 G 85 44
Encore une fois, les lignes du bloc de données sont classées par points du plus grand au plus petit, puis par assistances du plus petit au plus grand.
Remarque : Vous pouvez trouver la documentation complète de la fonction arrange() ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations de tri courantes dans R :
Comment trier les valeurs par ordre alphabétique dans R
Comment trier une trame de données par date dans R