Jak naprawić w r: błąd: zduplikowane identyfikatory wierszy


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

 Error: Duplicate identifiers for rows

Ten błąd występuje, gdy próbujesz użyć funkcji spread() do rozłożenia wartości jednej lub większej liczby kolumn w ramce danych na ich własne kolumny.

Jednak może wystąpić błąd, jeśli dla każdego wiersza nie ma unikalnego identyfikatora, więc podczas uruchamiania rozkładu nie ma możliwości określenia, które wartości należą do jakich obserwacji.

Poniższy przykład pokazuje, jak w praktyce skorygować ten błąd.

Przykład: Jak naprawić błąd

Załóżmy, że mamy następującą ramkę danych w R, która zawiera informacje o różnych koszykarzach:

 #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),
                 dots=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 To 3 4 18
4 To 4 4 7
5 B 1 3 22
6 B 2 7 9
7 B 3 7 38
8 B 4 6 4

Załóżmy teraz, że chcemy przekształcić ramkę danych tak, aby kolumna roku była kolumną id i utworzyć nowe kolumny o nazwach asysty_A , asysty_B , punkty_A i punkty_B , aby reprezentowały asysty i wartości punktowe graczy A i B w ciągu każdego roku .

Ponieważ wartości w kolumnie rok nie będą unikalne (będą dwie jedynki, dwie dwójki itd.), funkcja spread() zwróci błąd.

Możemy jednak użyć funkcji obrotu_wider() z następującą składnią, aby utworzyć żądaną ramkę danych:

 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

Należy pamiętać, że nie otrzymujemy żadnych błędów i jesteśmy w stanie pomyślnie utworzyć nowe kolumny, które wyświetlają wartości punktowe i asystowe dla Graczy A i B w każdym z czterech lat.

Dodatkowe zasoby

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

Jak naprawić w R: NA wprowadzone przez przymus
Jak naprawić w R: indeks poza zakresem
Jak naprawić w R: długość dłuższego obiektu nie jest wielokrotnością długości krótszego obiektu
Jak naprawić w R: ilość elementów do wymiany nie jest wielokrotnością długości wymiany

Dodaj komentarz

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