Como fazer aritmética matriz em r

Para além das operações aritméticas clássicos, R contém um grande conjunto de operadores e funções para realizar um vasto conjunto de operações matriciais. Muitas dessas operações são usados ​​em matemática avançada, então você nunca pode precisar deles. Alguns deles podem vir em muito útil, no entanto, se você precisa virar em torno de dados ou você deseja calcular algumas estatísticas si mesmo.

Transposição de uma matriz em R

Lançando em torno de uma matriz de modo que as linhas tornar-se colunas e vice-versa é muito fácil em R. A t () função (que significa transpor) Faz todo o trabalho para você:

Video: Me Salva! PA04 - Progressões Arítméticas - Termo Geral

gt; t (first.matrix) [, 1] [, 2] [, 3] [1,] 1 2 3 [2,] 4 5 6 [3,] 7 8 9 [4], 10 11 12

Você pode tentar isso com um vector também. Como matrizes são lidos e cheio coluna-sábio, ele não deve vir como uma surpresa que o t () função vê um vector tal como uma matriz de uma coluna. A transposição de um vector é, assim, uma matriz com uma linha:

Video: ESTATÍSTICA ( ENEM ) - Média Aritmética, Mediana e Moda

gt; t (01:10) [, 1] [, 2] [, 3] [, 4] [, 5] [, 6] [, 7] [, 8] [, 9] [, 10] [1,] 1 2 3 4 5 6 7 8 9 10

Você pode dizer isso é uma matriz pelas dimensões. Esta informação parece trivial pelo caminho, mas imagine que você está selecionando apenas uma linha a partir de uma matriz e transposição. Ao contrário do que seria de esperar, você começa uma linha, em vez de uma coluna:

gt; t (first.matrix [2,]) [, 1] [, 2] [, 3] [, 4] [1,] 2 5 8 11

Inverter uma matriz em R



Contrariamente à sua intuição, invertendo uma matriz não é feito por elevando-o para o poder de -1, R normalmente aplica os operadores aritméticos elemento-wise na matriz. Assim, o comando first.matrix ^ (- 1) não lhe dá o inverso da matriz-vez, dá-lhe o inverso dos elementos. Para inverter uma matriz, você pode usar o resolver() função, assim:

Video: Curso de Programação R (Aula 20) - Somando Valores nas Matrizes Parte 2

gt; square.matrix lt; - matriz (c (1,0,3,2,2,4,3,2,1), ncol = 3) gt; resolver (square.matrix) [, 1] [, 2] [, 3] [1,] 0,5 -0,8333333 0,1666667 [2,] -0,5 0,6666667 0,1666667 [3,] 0,5 -0,1666667 -0,1666667

Tenha cuidado para inverter uma matriz como este por causa do risco de erros de arredondamento. R calcula a maioria das estatísticas baseadas em decomposição, como a decomposição QR, decomposição de valor único, e decomposição de Cholesky. Você pode fazer isso sozinho usando as funções qr (), SVD (), e Chol (), respectivamente. Verifique as respectivas páginas de ajuda para obter mais informações.

Multiplicar duas matrizes em R

O operador multiplicação (*) Funciona elemento-wise em matrizes. Para calcular o produto interno de duas matrizes, você usa o operador especial % *%, como isso:

gt; first.matrix% *% t (second.matrix) [, 1] [, 2] [, 3] [1,] 22 44 66 [2,] 26 52 78 [3,] 30 60 90

Você tem que transpor a second.matrix primeiro- de outra forma, ambas as matrizes tenham dimensões não-moldáveis. A multiplicação de uma matriz com um vector que é um pouco de caso a caso especial, desde que as dimensões se encaixam, R irá converter automaticamente o vector de qualquer uma linha ou uma coluna de matriz, qualquer que seja é aplicável neste caso. Você pode verificar por si mesmo no exemplo a seguir:

gt; first.matrix% *% 1: 4 [, 1] [1], 70 [2], 80 [3,] 90gt; 1: 3% *% first.matrix [, 1] [, 2] [, 3] [, 4] [1,] 14 32 50 68

Publicações relacionadas