Como corrigir um erro em r: argumentos não compatíveis


Uma mensagem de erro que você pode encontrar ao usar R é:

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

Este erro ocorre quando você tenta multiplicar duas matrizes, mas o número de colunas na matriz esquerda não corresponde ao número de linhas na matriz direita.

O exemplo a seguir mostra como resolver esse erro na prática.

Como reproduzir o erro

Suponha que temos as duas matrizes a seguir em 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

Agora suponha que tentamos multiplicar a segunda matriz pela primeira matriz:

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

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

Recebemos um erro porque o número de colunas (3) na matriz esquerda não corresponde ao número de linhas (5) na matriz direita.

Como evitar o erro

Para evitar o erro de argumentos não conformes , você deve multiplicar a primeira matriz pela segunda matriz:

 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

Observe que somos capazes de multiplicar ambas as matrizes com êxito e sem erros porque o número de colunas (2) na matriz esquerda corresponde ao número de linhas (2) na matriz direita.

Também podemos usar a função dim() para exibir o número de colunas e linhas em cada matriz:

 #view dimensions of first matrix
dim(mat1)

[1] 5 2

#view dimensions of second matrix
dim(mat2)

[1] 2 3

A partir desta saída podemos ver:

  • A primeira matriz possui 5 linhas e 2 colunas.
  • A segunda matriz possui 2 linhas e 3 colunas.

Isso mostra claramente que temos que usar a primeira matriz à esquerda e a segunda matriz à direita ao multiplicar, pois a primeira matriz possui 2 colunas e a segunda matriz possui 2 linhas.

Recursos adicionais

Os tutoriais a seguir explicam como corrigir outros erros comuns no R:

Como consertar em R: argumentos envolvem diferentes números de linhas
Como corrigir em R: erro na seleção de argumentos não utilizados
Como reparar em R: a substituição tem comprimento zero

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *