So beheben sie in r: falsche anzahl von indizes auf der matrix
Ein Fehler, der in R auftreten kann, ist:
Error in x[i, ] <- 0: incorrect number of subscripts on matrix
Dieser Fehler tritt auf, wenn Sie versuchen, einer Position in einem Vektor einen Wert zuzuweisen, aber versehentlich ein Komma einfügen, als ob Sie einer Zeilen- und Spaltenposition in einer Matrix einen Wert zuweisen würden.
In diesem Tutorial wird genau erklärt, wie Sie diesen Fehler beheben können.
Beispiel 1: Beheben eines Fehlers für einen einzelnen Wert
Angenommen, wir haben den folgenden Vektor in R mit 5 Werten:
#definevector
x <- c(4, 6, 7, 7, 15)
Nehmen wir nun an, wir versuchen, dem dritten Element des Vektors den Wert „22“ zuzuweisen:
#attempt to assign the value '22' to element in third position
x[3, ] <- 22
Error in x[3, ] <- 22: incorrect number of subscripts on matrix
Wir erhalten eine Fehlermeldung, weil wir beim Versuch, den neuen Wert zuzuweisen, ein Komma eingefügt haben.
Stattdessen müssen wir nur den Befehl entfernen:
assign the value '22' to element in third position x[3] <- 22 #display updated vector x [1] 4 6 22 7 15
Beispiel 2: Korrigieren Sie einen Fehler in einer for-Schleife
Dieser Fehler kann auch auftreten, wenn versucht wird, mehrere Werte in einem Vektor mithilfe einer „for“-Schleife zu ersetzen.
Der folgende Code versucht beispielsweise, jeden Wert in einem Vektor durch eine Null zu ersetzen:
#definevector
x <- c(4, 6, 7, 7, 15)
#attempt to replace every value in vector with zero
for (i in 1:length(x)) {
x[i, ]=0
}
Error in x[i, ] = 0: incorrect number of subscripts on matrix
Wir erhalten eine Fehlermeldung, weil wir beim Versuch, Nullen zuzuweisen, ein Komma eingefügt haben.
Stattdessen müssen wir nur den Befehl entfernen:
#definevector
x <- c(4, 6, 7, 7, 15)
#replace every value in vector with zero
for (i in 1:length(x)) {
x[i]=0
}
#view updated vector
x
[1] 0 0 0 0 0
Sobald das Komma entfernt wird, läuft der Code fehlerfrei.
Zusätzliche Ressourcen
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 einen Fehler in R: falsche Anzahl an Dimensionen