Comment trier une table dans R (avec exemples)



Il existe deux méthodes que vous pouvez utiliser pour trier une table dans R :

Méthode 1 : utiliser Base R

#sort table in ascending order
my_table_sorted <- my_table[order(my_table)]

#sort table in descending order
my_table_sorted <- my_table[order(my_table, decreasing=TRUE)]

Méthode 2 : utiliser dplyr

library(dplyr)

#sort table in ascending order
my_table_sorted<- my_table %>% as.data.frame() %>% arrange(Freq)

#sort table in descending order
my_table_sorted<- my_table %>% as.data.frame() %>% arrange(desc(Freq))

Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le tableau suivant dans R :

#create vector
data <- c(3, 8, 8, 8, 7, 7, 5, 5, 5, 5, 9, 12, 15, 15)

#create table
my_table <- table(data)

#view table
my_table

data
 3  5  7  8  9 12 15 
 1  4  2  3  1  1  2

Exemple 1 : Trier la table à l’aide de Base R

Nous pouvons utiliser le code suivant pour trier les valeurs du tableau par ordre croissant à l’aide de la fonction order() de la base R :

#sort table in ascending order
my_table_sorted <- my_table[order(my_table)]

#view sorted table
my_table_sorted

data
 3  9 12  7 15  8  5 
 1  1  1  2  2  3  4

Et nous pouvons utiliser l’argument décroissant=True dans la fonction order() pour trier les valeurs du tableau par ordre décroissant :

#sort table in descending order
my_table_sorted <- my_table[order(my_table, decreasing=TRUE)]

#view sorted table
my_table_sorted

data
 5  8  7 15  3  9 12 
 4  3  2  2  1  1  1 

Exemple 2 : trier la table à l’aide de dplyr

Nous pouvons utiliser le code suivant pour trier les valeurs du tableau par ordre croissant à l’aide de la fonction arrange() du package dplyr :

library(dplyr)

#sort table in ascending order
my_table_sorted <- my_table %>% as.data.frame() %>% arrange(Freq)

#view sorted table
my_table_sorted

  data Freq
1    3    1
2    9    1
3   12    1
4    7    2
5   15    2
6    8    3
7    5    4

Et nous pouvons utiliser la fonction desc() pour trier les valeurs du tableau par ordre décroissant :

library(dplyr)

#sort table in descending order
my_table_sorted <- my_table %>% as.data.frame() %>% arrange(desc(Freq))

#view sorted table
my_table_sorted

  data Freq
1    5    4
2    8    3
3    7    2
4   15    2
5    3    1
6    9    1
7   12    1

Remarque : Vous pouvez trouver la documentation complète de la fonction dplyr arrange() ici .

Ressources additionnelles

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

Comment créer un tableau de fréquence par groupe dans R
Comment créer une table à deux voies dans R
Comment tracer une table dans R

Ajouter un commentaire

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