Hoe op te lossen in r: dubbele 'row.names' zijn niet toegestaan
Een fout die je tegen kunt komen in R is:
Error in read.table(file = file, header = header, sep = sep, quote = quote, : duplicate 'row.names' are not allowed
Deze fout treedt meestal op wanneer u probeert een CSV-bestand in R te lezen dat komma’s bevat aan het einde van elke regel in het bestand, behalve de kopregel.
In deze tutorial wordt precies uitgelegd hoe u deze fout kunt oplossen.
Hoe de fout te reproduceren
Laten we zeggen dat we het volgende CSV-bestand hebben met de naam my_data.csv :
Merk op dat er komma’s staan aan het einde van elke regel in het bestand , behalve de kopregel.
Stel nu dat we proberen dit bestand in R te importeren:
#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
We ontvangen een foutmelding omdat er komma’s staan aan het einde van elke regel in het bestand, behalve de kopregel, waardoor R denkt dat de eerste kolom met waarden de regelnamen zijn.
Omdat twee van de rijen dezelfde startwaarde (4) hebben, denkt R dat er dubbele rijnamen zijn.
Hoe u de fout kunt oplossen
De manier om deze fout op te lossen is door eenvoudigweg row.names=NULL te gebruiken bij het importeren van het bestand:
#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
We kunnen het CSV-bestand succesvol importeren, maar de kolomnamen zijn verkeerd.
Om dit probleem op te lossen, kunnen we de kolomnamen wijzigen en vervolgens de laatste kolom verwijderen:
#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
Het dataframe heeft nu het juiste formaat.
Gerelateerd: Hoe de ncol-functie te gebruiken in R
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende fouten in R kunt oplossen:
Oplossing in R: namen komen niet overeen met eerdere namen
Hoe op te lossen in R: de lengte van een langer object is geen veelvoud van de lengte van een korter object
Hoe op te lossen in R: contrasten kunnen alleen worden toegepast op factoren met 2 of meer niveaus