R : Comment trouver des lignes uniques sur plusieurs colonnes
Vous pouvez utiliser les méthodes suivantes pour rechercher des lignes uniques sur plusieurs colonnes d’un bloc de données dans R :
Méthode 1 : rechercher des lignes uniques sur plusieurs colonnes (supprimer d’autres colonnes)
df_unique <- unique(df[c('col1', 'col2')])
Méthode 2 : rechercher des lignes uniques sur plusieurs colonnes (conserver les autres colonnes)
df_unique <- df[!duplicated(df[c('col1', 'col2')]),]
Les exemples suivants montrent comment utiliser chacune de ces méthodes en pratique avec le bloc de données suivant :
#create data frame
df <- data.frame(conf=c('East', 'East', 'East', 'West', 'West', 'West'),
pos=c('G', 'G', 'F', 'G', 'F', 'F'),
points=c(33, 28, 31, 39, 34, 40))
#view data frame
df
conf pos points
1 East G 33
2 East G 28
3 East F 31
4 West G 39
5 West F 34
6 West F 40
Méthode 1 : rechercher des lignes uniques sur plusieurs colonnes (supprimer d’autres colonnes)
Le code suivant montre comment trouver des lignes uniques dans les colonnes conf et pos du bloc de données :
#find unique rows across conf and pos columns
df_unique <- unique(df[c('conf', 'pos')])
#view results
df_unique
conf pos
1 East G
3 East F
4 West G
5 West F
Le résultat est quatre lignes toutes uniques.
Notez également que la colonne de points a été automatiquement supprimée des résultats.
Méthode 2 : rechercher des lignes uniques sur plusieurs colonnes (supprimer d’autres colonnes)
Le code suivant montre comment rechercher des lignes uniques dans les colonnes conf et pos du bloc de données et conserver les valeurs dans la colonne points :
#find unique rows across conf and pos columns
df_unique <- df[!duplicated(df[c('conf', 'pos')]),]
#view results
df_unique
conf pos points
1 East G 33
3 East F 31
4 West G 39
5 West F 34
Notez que seules des lignes uniques existent dans les colonnes conf et pos et que les valeurs de la colonne points sont conservées.
Il est important de noter que seule la valeur de la première occurrence unique est conservée.
Par exemple, il y avait deux lignes contenant « Est » et « G » dans les deux premières colonnes, mais seule la valeur en points (33) pour la première occurrence de cette combinaison unique a été conservée dans la trame de données finale.
De même, il y avait deux lignes contenant « Ouest » et « F » dans les deux premières colonnes, mais seule la valeur en points (34) pour la première occurrence de cette combinaison unique a été conservée dans la trame de données finale.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :
Comment trouver des valeurs uniques dans une colonne dans R
Comment compter les valeurs uniques par groupe dans R
Comment filtrer les valeurs uniques à l’aide de dplyr