Jak naprawić błąd w r: niezgodne argumenty


Komunikat o błędzie, który możesz napotkać podczas korzystania z R, to:

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

Ten błąd występuje, gdy próbujesz pomnożyć dwie macierze, ale liczba kolumn w lewej macierzy nie odpowiada liczbie wierszy w prawej macierzy.

Poniższy przykład pokazuje, jak w praktyce rozwiązać ten błąd.

Jak odtworzyć błąd

Załóżmy, że w R mamy następujące dwie macierze:

 #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

Załóżmy teraz, że próbujemy pomnożyć drugą macierz przez pierwszą macierz:

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

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

Otrzymujemy błąd, ponieważ liczba kolumn (3) w lewej macierzy nie odpowiada liczbie wierszy (5) w prawej macierzy.

Jak uniknąć błędu

Aby uniknąć błędu w postaci niezgodnych argumentów , należy zamiast tego pomnożyć pierwszą macierz przez drugą macierz:

 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

Należy zauważyć, że obie macierze jesteśmy w stanie pomyślnie pomnożyć bez błędów, ponieważ liczba kolumn (2) w lewej macierzy odpowiada liczbie wierszy (2) w prawej macierzy.

Możemy również użyć funkcji dim() do wyświetlenia liczby kolumn i wierszy w każdej macierzy:

 #view dimensions of first matrix
dim(mat1)

[1] 5 2

#view dimensions of second matrix
dim(mat2)

[1] 2 3

Z tego wyniku możemy zobaczyć:

  • Pierwsza macierz ma 5 wierszy i 2 kolumny.
  • Druga macierz ma 2 wiersze i 3 kolumny.

To wyraźnie pokazuje, że podczas mnożenia musimy użyć pierwszej macierzy po lewej stronie i drugiej macierzy po prawej stronie, ponieważ pierwsza macierz ma 2 kolumny, a druga macierz ma 2 wiersze.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak naprawić inne typowe błędy w R:

Jak naprawić w R: argumenty obejmują różną liczbę linii
Jak naprawić w R: błąd w wyborze nieużywanych argumentów
Jak naprawić w R: wymiana ma zerową długość

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *