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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert