So beheben sie einen fehler in r: falsche anzahl an dimensionen


Ein Fehler, der in R auftreten kann, ist:

 Error in x[, 3]: incorrect number of dimensions

Dieser Fehler tritt auf, wenn Sie versuchen, ein Objekt in R mit mehr Dimensionen zu unterteilen, als das Objekt hat.

In diesem Tutorial wird genau erklärt, wie Sie diesen Fehler beheben können.

So reproduzieren Sie den Fehler

Angenommen, wir haben den folgenden Vektor in R mit 10 Werten:

 #definevector
x <- c(3, 4, 7, 7, 14, 19, 22, 28, 29, 30)

Der Vektor ist eindimensional, aber nehmen wir an, wir versuchen eine Teilmenge in zwei Dimensionen:

 #attempt to access value in first row and third column
x[, 3]

Error in x[, 3]: incorrect number of dimensions

#attempt to access value in third row and first column
x[3, ]

Error in x[3, ]: incorrect number of dimensions

Wir erhalten eine Fehlermeldung, weil wir versucht haben, eine Teilmenge in zwei Dimensionen zu bilden, obwohl der Vektor nur eine Dimension hat.

So beheben Sie den Fehler

Der einfachste Weg, diesen Fehler zu korrigieren, besteht darin, einfach eine Teilmenge durch eine einzelne Dimension zu bilden. So greifen Sie beispielsweise auf den dritten Wert des Vektors zu:

 #access third value in vector
x[3]

[1] 7

Wir können auch auf mehrere Werte des Vektors gleichzeitig zugreifen. So greifen Sie beispielsweise auf die Werte der Positionen 2 bis 5 im Vektor zu:

 #access values in positions 2 through 5
x[2:5]

[1] 4 7 7 14

Da wir eine Teilmenge nur um eine Dimension erstellen, vermeiden wir den Fehler einer falschen Anzahl von Dimensionen .

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 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