So reparieren sie in r: ersetzung hat x zeilen, daten haben y


Eine Fehlermeldung, die bei der Verwendung von R auftreten kann, ist:

 Error in `$<-.data.frame`(`*tmp*`, conf_full, value = c("West", "West",: 
  replacement has 3 rows, data has 5

Dieser Fehler tritt auf, wenn Sie versuchen, eine neue Spalte zu einem Datenrahmen hinzuzufügen, dessen Werte auf einer vorhandenen Spalte basieren, die neue Spalte jedoch nicht zuerst erstellt werden kann.

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

So reproduzieren Sie den Fehler

Angenommen, wir erstellen den folgenden Datenrahmen in R:

 #create data frame
df <- data. frame (conference=c('W', 'W', 'W', 'E', 'E'),
                 points=c(99, 90, 86, 88, 95),
                 assists=c(33, 28, 31, 39, 34))	

#view data frame
df

  conference points assists
1 W 99 33
2 W 90 28
3 W 86 31
4 E 88 39
5 E 95 34

Nehmen wir nun an, wir versuchen, dem Datenrahmen eine neue Spalte namens conf_full hinzuzufügen:

 #attempt to create new column based on conference name
df$conf_full[which(df$conference==' W ')] <- ' West '
df$conf_full[which(df$conference==' E ')] <- ' East '

Error in `$<-.data.frame`(`*tmp*`, conf_full, value = c("West", "West",: 
  replacement has 3 rows, data has 5

Wir erhalten eine Fehlermeldung, da der Variablenname conf_full noch nicht existiert, was bedeutet, dass wir dieser Spalte noch keine Werte zuweisen können.

So vermeiden Sie den Fehler

Um diesen Fehler zu vermeiden, können wir zunächst die Variable conf_full erstellen und ihr einfach die Werte von NA zuweisen:

 #create conf_full variable
df$conf_full <- NA

Da die Variable nun existiert, können wir ihr Werte zuweisen:

 #create new column based on conference
df$conf_full[which(df$conference==' W ')] <- ' West '
df$conf_full[which(df$conference==' E ')] <- ' East '

#view updated data frame
df

  conference points assists conf_full
1 W 99 33 West
2 W 90 28 West
3 W 86 31 West
4 E 88 39 East
5 E 95 34 East

Beachten Sie, dass wir dieses Mal keine Fehlermeldungen erhalten, da wir zuerst die Variable conf_full erstellt haben, bevor wir versucht haben, ihr Werte zuzuweisen.

Zusätzliche Ressourcen

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

So beheben Sie das Problem in R: Argumente umfassen eine unterschiedliche Anzahl von Zeilen
So beheben Sie in R: Fehler bei der Auswahl nicht verwendeter Argumente
So reparieren Sie in R: Der Ersatz hat die Länge Null

Einen Kommentar hinzufügen

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