Comment réparer dans R : dupliquer ‘row.names’ ne sont pas permis



Une erreur que vous pouvez rencontrer dans R est :

Error in read.table(file = file, header = header, sep = sep, quote = quote,  : 
  duplicate 'row.names' are not allowed 

Cette erreur se produit généralement lorsque vous tentez de lire dans R un fichier CSV contenant des virgules à la fin de chaque ligne du fichier , à l’exception de la ligne d’en-tête.

Ce didacticiel explique exactement comment corriger cette erreur.

Comment reproduire l’erreur

Supposons que nous ayons le fichier CSV suivant appelé my_data.csv :

Notez qu’il y a des virgules à la fin de chaque ligne du fichier , à l’exception de la ligne d’en-tête.

Supposons maintenant que nous essayions d’importer ce fichier dans R :

#attempt to import CSV into data frame
df <- read.csv('my_data.csv')

Error in read.table(file = file, header = header, sep = sep, quote = quote,  : 
  duplicate 'row.names' are not allowed

Nous recevons une erreur car il y a des virgules à la fin de chaque ligne du fichier, à l’exception de la ligne d’en-tête, ce qui amène R à penser que la première colonne de valeurs correspond aux noms de lignes.

Puisque deux des lignes ont la même valeur de départ (4), R pense qu’il existe des noms de lignes en double.

Comment réparer l’erreur

La façon de corriger cette erreur consiste simplement à utiliser row.names=NULL lors de l’importation du fichier :

#import CSV file into data frame
df <- read.csv('my_data.csv', row.names=NULL)

#view data frame
df

  row.names column1 column2 column3
1         4       5       7      NA
2         4       2       1      NA
3         7       9       0      NA

Nous parvenons à importer avec succès le fichier CSV, mais les noms de colonnes sont erronés.

Pour résoudre ce problème, nous pouvons modifier les noms des colonnes puis supprimer la dernière colonne :

#modify column names
colnames(df) <- colnames(df)[2:ncol(df)]

#drop last column
df <- df[1:(ncol(df)-1)]

#view updated data frame
df

  column1 column2 column3
1       4       5       7
2       4       2       1
3       7       9       0

Le bloc de données est maintenant au format correct.

Connexe : Comment utiliser la fonction ncol dans R

Ressources additionnelles

Les didacticiels suivants expliquent comment résoudre d’autres erreurs courantes dans R :

Comment réparer dans R : les noms ne correspondent pas aux noms précédents
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 : les contrastes ne peuvent être appliqués qu’à des facteurs avec 2 niveaux ou plus

Ajouter un commentaire

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