Jak naprawić w r: duplikaty „row.names” są niedozwolone


Błąd, który możesz napotkać w R to:

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

Ten błąd zwykle występuje podczas próby odczytania pliku CSV do języka R, który zawiera przecinki na końcu każdej linii pliku z wyjątkiem linii nagłówka.

W tym samouczku dokładnie wyjaśniono, jak naprawić ten błąd.

Jak odtworzyć błąd

Załóżmy, że mamy następujący plik CSV o nazwie my_data.csv :

Należy pamiętać, że na końcu każdej linii pliku z wyjątkiem linii nagłówka znajdują się przecinki.

Załóżmy teraz, że próbujemy zaimportować ten plik do 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

Otrzymujemy błąd, ponieważ na końcu każdej linii pliku z wyjątkiem linii nagłówka znajdują się przecinki, co powoduje, że R myśli, że pierwszą kolumną wartości są nazwy linii.

Ponieważ dwa wiersze mają tę samą wartość początkową (4), R uważa, że istnieją zduplikowane nazwy wierszy.

Jak naprawić błąd

Sposobem na naprawienie tego błędu jest po prostu użycie row.names=NULL podczas importowania pliku:

 #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

Udało nam się pomyślnie zaimportować plik CSV, ale nazwy kolumn są nieprawidłowe.

Aby rozwiązać ten problem, możemy zmienić nazwy kolumn, a następnie usunąć ostatnią kolumnę:

 #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

Ramka danych ma teraz prawidłowy format.

Powiązane: Jak używać funkcji ncol w R

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak rozwiązać inne typowe błędy w języku R:

Jak naprawić w R: Nazwy nie pasują do poprzednich nazw
Jak naprawić w R: długość dłuższego obiektu nie jest wielokrotnością długości krótszego obiektu
Jak naprawić w R: kontrasty można zastosować tylko do czynników o 2 lub więcej poziomach

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *