So beheben sie in r: fehler: doppelte bezeichner für zeilen


Ein Fehler, der in R auftreten kann, ist:

 Error: Duplicate identifiers for rows

Dieser Fehler tritt auf, wenn Sie versuchen, die Funktion spread() zu verwenden, um die Werte einer oder mehrerer Spalten in einem Datenrahmen in ihre eigenen Spalten zu verteilen.

Es kann jedoch ein Fehler auftreten, wenn für jede Zeile keine eindeutige ID vorhanden ist, sodass beim Ausführen der Verteilung nicht ermittelt werden kann, welche Werte zu welchen Beobachtungen gehören.

Das folgende Beispiel zeigt, wie dieser Fehler in der Praxis behoben werden kann.

Beispiel: So beheben Sie den Fehler

Angenommen, wir haben den folgenden Datenrahmen in R, der Informationen über verschiedene Basketballspieler enthält:

 #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

Nehmen wir nun an, wir möchten den Datenrahmen so umwandeln, dass die Jahresspalte als ID-Spalte dient, und neue Spalten mit den Namen „ assis_A “, „ assis_B“ , „points_A “ und „points_B“ erstellen, um die Assists und Punktwerte der Spieler A und B im Laufe jedes Jahres darzustellen .

Da die Werte in der Jahresspalte nicht eindeutig sind (es gibt zwei Einsen, zwei Zweien usw.), erzeugt die Funktion spread() einen Fehler.

Wir können jedoch die Funktion „pivot_wider()“ mit der folgenden Syntax verwenden, um den gewünschten Datenrahmen zu erzeugen:

 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

Beachten Sie, dass wir keine Fehler erhalten und die neuen Spalten, die die Punkt- und Assist-Werte für Spieler A und B in jedem der vier Jahre anzeigen, erfolgreich erstellen können.

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere häufige Fehler in R beheben können:

So beheben Sie in R: NAs, die durch Zwang eingeführt wurden
So reparieren Sie in R: Index außerhalb der Grenzen
So beheben Sie das Problem in R: Die Länge eines längeren Objekts ist kein Vielfaches der Länge eines kürzeren Objekts
So reparieren Sie in R: Die Anzahl der zu ersetzenden Elemente ist kein Vielfaches der Ersetzungslänge

Einen Kommentar hinzufügen

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