So beheben sie einen fehler in r: nicht konforme argumente


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

 Error in matrix2 %*% matrix1: non-conformable arguments

Dieser Fehler tritt auf, wenn Sie versuchen, zwei Matrizen zu multiplizieren, die Anzahl der Spalten in der linken Matrix jedoch nicht mit der Anzahl der Zeilen in der rechten Matrix übereinstimmt.

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

So reproduzieren Sie den Fehler

Angenommen, wir haben die folgenden zwei Matrizen in R:

 #create first matrix
mat1 <- matrix(1:10, nrow= 5 ) 

mat1

     [,1] [,2]
[1,] 1 6
[2,] 2 7
[3,] 3 8
[4,] 4 9
[5,] 5 10

#create second matrix
mat2 <- matrix(1:6, nrow= 2 )

mat2

     [,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6

Nehmen wir nun an, wir versuchen, die zweite Matrix mit der ersten Matrix zu multiplizieren:

 #attempt to multiply second matrix by first matrix
mate2 %*% mate1

Error in mat2 %*% mat1: non-conformable arguments

Wir erhalten eine Fehlermeldung, weil die Anzahl der Spalten (3) in der linken Matrix nicht mit der Anzahl der Zeilen (5) in der rechten Matrix übereinstimmt.

So vermeiden Sie den Fehler

Um den Fehler nicht konformer Argumente zu vermeiden, müssen Sie stattdessen die erste Matrix mit der zweiten Matrix multiplizieren:

 multiply first matrix by second matrix
mate1 %*% mate2

     [,1] [,2] [,3]
[1,] 13 27 41
[2,] 16 34 52
[3,] 19 41 63
[4,] 22 48 74
[5,] 25 55 85

Beachten Sie, dass wir beide Matrizen erfolgreich und fehlerfrei multiplizieren können, da die Anzahl der Spalten (2) in der linken Matrix mit der Anzahl der Zeilen (2) in der rechten Matrix übereinstimmt.

Wir können auch die Funktion dim() verwenden, um die Anzahl der Spalten und Zeilen in jeder Matrix anzuzeigen:

 #view dimensions of first matrix
dim(mat1)

[1] 5 2

#view dimensions of second matrix
dim(mat2)

[1] 2 3

Aus dieser Ausgabe können wir sehen:

  • Die erste Matrix besteht aus 5 Zeilen und 2 Spalten.
  • Die zweite Matrix besteht aus 2 Zeilen und 3 Spalten.

Dies zeigt deutlich, dass wir beim Multiplizieren die erste Matrix links und die zweite Matrix rechts verwenden müssen, da die erste Matrix 2 Spalten und die zweite Matrix 2 Zeilen hat.

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