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.

R : vérifier si la ligne d’un bloc de données existe dans un autre



Vous pouvez utiliser la syntaxe suivante pour ajouter une nouvelle colonne à un bloc de données dans R qui indique si chaque ligne existe dans un autre bloc de données :

df1$exists <- do.call(paste0, df1) %in% do.call(paste0, df2)

Cette syntaxe particulière ajoute une colonne appelée exist au bloc de données appelé df1 qui contient TRUE ou FALSE pour indiquer si chaque ligne de df1 existe dans un autre bloc de données appelé df2 .

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

Exemple : vérifier si la ligne d’un bloc de données existe dans un autre dans R

Supposons que nous ayons les deux trames de données suivantes dans R :

#create first data frame
df1 <- data.frame(team=c('A', 'B', 'C', 'D', 'E'),
                  points=c(12, 15, 22, 29, 24))

#view first data frame
df1

  team points
1    A     12
2    B     15
3    C     22
4    D     29
5    E     24

#create second data frame
df2 <- data.frame(team=c('A', 'D', 'F', 'G', 'H'),
                  points=c(12, 29, 15, 19, 10))

#view second data frame
df2

  team points
1    A     12
2    D     29
3    F     15
4    G     19
5    H     10

Nous pouvons utiliser la syntaxe suivante pour ajouter une colonne appelée exist au premier bloc de données qui indique si chaque ligne existe dans le deuxième bloc de données :

#add new column to df1 that shows if row exists in df2
df1$exists <- do.call(paste0, df1) %in% do.call(paste0, df2)

#view updated data frame
df1

  team points exists
1    A     12   TRUE
2    B     15  FALSE
3    C     22  FALSE
4    D     29   TRUE
5    E     24  FALSE

La nouvelle colonne existe indique si chaque ligne du premier bloc de données existe dans le deuxième bloc de données.

À partir du résultat, nous pouvons voir :

  • La première ligne de df1 existe dans df2 .
  • La deuxième ligne de df1 n’existe pas dans df2 .
  • La troisième ligne de df1 n’existe pas dans df2 .

Et ainsi de suite.

Notez que vous pouvez également utiliser is.numeric() pour afficher les 1 et les 0 au lieu de TRUE ou FALSE dans la colonne exist :

#add new column to df1 that shows if row exists in df2
df1$exists <- as.numeric(do.call(paste0, df1) %in% do.call(paste0, df2))

#view updated data frame
df1

  team points exists
1    A     12      1
2    B     15      0
3    C     22      0
4    D     29      1
5    E     24      0

Une valeur de 1 indique que la ligne du premier bloc de données existe dans le second.

À l’inverse, une valeur de 0 indique que la ligne de la première trame de données n’existe pas dans la seconde.

Ressources additionnelles

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

R : Comment vérifier si plusieurs colonnes sont égales
R : Comment sélectionner des lignes uniques dans un bloc de données
R : Comment répliquer des lignes dans un bloc de données

Ajouter un commentaire

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