Cómo hacer aritmética matriz en la r

Además de los operadores aritméticos clásicos, R contiene un amplio conjunto de operadores y funciones para realizar una amplia serie de operaciones con matrices. Muchas de estas operaciones se utilizan en matemáticas avanzadas, por lo que es posible que nunca se los necesita. Algunos de ellos pueden venir en bastante práctico, sin embargo, si usted necesita para voltear alrededor de datos o desea calcular algunas estadísticas ti mismo.

Transponer una matriz en R

Mover de un tirón alrededor de una matriz por lo que las filas se convierten en columnas y viceversa es muy fácil en R. El t () función (que significa transponer) Hace todo el trabajo por usted:

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

Usted puede probar esto con un vector, también. A medida que se leen y por columnas llenas matrices, no debería ser una sorpresa que el t () función ve un vector como una matriz de una sola columna. La transpuesta de un vector es, por lo tanto, una matriz de una sola fila:

> T (01:10) [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [1, ] 1 2 3 4 5 6 7 8 9 10

Se puede decir que se trata de una matriz por las dimensiones. Esta información parece trivial, por cierto, pero imagina que estás seleccionando sólo una fila de una matriz y la transposición de la misma. A diferencia de lo que cabría esperar, se obtiene una fila en lugar de una columna:

> T (first.matrix [2,]) [1] [2] [3] [4] [1], 2 5 8 11

Invertir una matriz en R

Contrariamente a su intuición, invertir una matriz que no se hace por elevarlo a la potencia de -1, R normalmente se aplica a los operadores aritméticos elemento a gota sobre la matriz. Por lo tanto, el comando first.matrix ^ (- 1) no te da la inversa de la matriz-lugar, le da la inversa de los elementos. Para invertir una matriz, se utiliza el solve () función, así:

> Square.matrix lt; - matriz (c (1,0,3,2,2,4,3,2,1), ncol = 3)> 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

Tenga cuidado de invertir una matriz como esta por el riesgo de errores de redondeo. R calcula la mayoría de las estadísticas basadas en descomposiciones como la descomposición QR, de un solo valor de descomposición, y la descomposición de Cholesky. Puede hacerlo usted mismo usando las funciones qr (), svd (), y chol (), respectivamente. Revise las páginas de Ayuda respectivas para más información.

Multiplica dos matrices en R

El operador de multiplicación (*) Elementos sabio en matrices funciona. Para calcular el producto interno de dos matrices, se utiliza el operador especial % *%, Me gusta esto:

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

Hay que incorporar la second.matrix primera de otro modo, ambas matrices tienen dimensiones no conformables. Multiplicar una matriz con un vector es un poco de un caso- especial, siempre y cuando las dimensiones se ajustan, R convertirá automáticamente el vector ya sea a una fila o columna de una matriz, lo que sea aplicable en este caso. Usted puede comprobar por sí mismo en el siguiente ejemplo:

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



» » » » Cómo hacer aritmética matriz en la r