R : Comment trouver des valeurs uniques et les trier



Vous pouvez utiliser les méthodes suivantes pour rechercher des valeurs uniques, puis les trier dans R :

Méthode 1 : trouver des valeurs uniques dans un vecteur et les trier

#get unique values sorted in ascending order
sort(unique(data))

Méthode 2 : rechercher des lignes uniques dans le bloc de données et les trier

#remove duplicate rows in data frame
df_new = df[!duplicated(df), ]

#display unique rows sorted by values in specific column
df_new = df_new[order(df_new$my_column), ]

Les exemples suivants montrent comment utiliser chaque méthode dans la pratique.

Exemple 1 : trouver des valeurs uniques dans un vecteur et les trier

Supposons que nous ayons le vecteur suivant dans R :

#create vector of values
data <- c(2, 2, 4, 7, 2, 4, 14, 7, 10, 7)

Nous pouvons utiliser la syntaxe suivante pour trouver les valeurs uniques dans le vecteur et les trier :

#get unique values sorted in ascending order
sort(unique(data))

[1]  2  4  7 10 14

Notez que les valeurs uniques du vecteur sont renvoyées par ordre croissant.

Nous pouvons également utiliser l’argument décroissant=TRUE pour trier les valeurs uniques par ordre décroissant :

#get unique values sorted in descending order
sort(unique(data), decreasing=TRUE)

[1] 14 10  7  4  2

Notez que les valeurs uniques du vecteur sont renvoyées par ordre décroissant.

Exemple 2 : rechercher des valeurs uniques dans le bloc de données et les trier

Supposons que nous ayons le bloc de données suivant dans R :

#create data frame
df <- data.frame(team=c('A', 'B', 'A', 'A', 'A', 'B', 'B', 'B', 'A', 'B'),
                 points=c(2, 10, 7, 7, 2, 4, 14, 7, 2, 7))

#view data frame
df

   team points
1     A      2
2     B     10
3     A      7
4     A      7
5     A      2
6     B      4
7     B     14
8     B      7
9     A      2
10    B      7

Nous pouvons utiliser la syntaxe suivante pour rechercher les lignes uniques dans le bloc de données et les trier en fonction des valeurs de la colonne d’équipe :

#remove duplicate rows in data frame
df_new = df[!duplicated(df), ]

#sort unique rows based on values in team column
df_new = df_new[order(df_new$team, df_new$points), ]

#view new data frame
df_new

  team points
1    A      2
3    A      7
2    B      4
6    B      7
7    B     10
8    B     14

Notez que les lignes uniques sont renvoyées et triées en fonction des valeurs de la colonne équipe , puis des valeurs de la colonne points .

Comment utiliser sort(), order() et Rank() dans R

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans R :

Comment compter les valeurs uniques dans une colonne dans R
Comment sélectionner des lignes uniques dans un bloc de données dans R
Comment trouver toutes les combinaisons uniques de deux vecteurs dans R

Ajouter un commentaire

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