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.

Comment réparer dans R : erreur : identifiants en double pour les lignes



Une erreur que vous pouvez rencontrer dans R est :

Error: Duplicate identifiers for rows

Cette erreur se produit lorsque vous tentez d’utiliser la fonction spread() pour répartir les valeurs d’une ou plusieurs colonnes d’un bloc de données dans leurs propres colonnes.

Cependant, une erreur peut se produire s’il n’y a pas d’ID unique pour chaque ligne, il n’y a donc aucun moyen de déterminer quelles valeurs appartiennent à quelles observations lors de l’exécution de la répartition.

L’exemple suivant montre comment corriger cette erreur dans la pratique.

Exemple : Comment corriger l’erreur

Supposons que nous ayons le bloc de données suivant dans R qui contient des informations sur divers joueurs de basket-ball :

#create data frame
df <- data.frame(player=rep(c('A', 'B'), each=4),
                 year=rep(1:4, times=2),
                 assists=c(4, 10, 4, 4, 3, 7, 7, 6),
                 points=c(14, 6, 18, 7, 22, 9, 38, 4))

#view data frame
df

  player year assists points
1      A    1       4     14
2      A    2      10      6
3      A    3       4     18
4      A    4       4      7
5      B    1       3     22
6      B    2       7      9
7      B    3       7     38
8      B    4       6      4

Supposons maintenant que nous souhaitions transformer le bloc de données afin d’avoir la colonne année comme colonne id et créer de nouvelles colonnes appelées assists_A , assists_B , points_A et points_B pour représenter les passes décisives et les valeurs de points des joueurs A et B au cours de chaque année.

Puisque les valeurs de la colonne année ne seront pas uniques (il y aura deux 1, deux 2, etc.), la fonction spread() produira une erreur.

Cependant, nous pouvons utiliser la fonction pivot_wider() avec la syntaxe suivante pour produire la trame de données souhaitée :

library(tidyr)

#spread the values in the points and assists columns
pivot_wider(data = df, 
            id_cols = year, 
            names_from = player, 
            values_from = c('assists', 'points'))

# A tibble: 4 x 5
   year assists_A assists_B points_A points_B
                    
1     1         4         3       14       22
2     2        10         7        6        9
3     3         4         7       18       38
4     4         4         6        7        4

Notez que nous ne recevons aucune erreur et que nous sommes en mesure de créer avec succès les nouvelles colonnes qui affichent les valeurs de points et de passes décisives pour les joueurs A et B au cours de chacune des quatre années.

Ressources additionnelles

Les didacticiels suivants expliquent comment corriger d’autres erreurs courantes dans R :

Comment réparer dans R : les NA introduits par la coercition
Comment réparer dans R : indice hors limites
Comment réparer dans R : la longueur d’un objet plus longue n’est pas un multiple de la longueur d’un objet plus courte
Comment réparer dans R : le nombre d’éléments à remplacer n’est pas un multiple de la longueur de remplacement

Ajouter un commentaire

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