Cómo utilizar operaciones estándar en una matriz de r

Probablemente la característica más fuerte de R es su capacidad para hacer frente a las operaciones con matrices complejas de una manera fácil y optimizado. Debido a que gran parte de las estadísticas se reduce a operaciones con matrices, es natural que R ama a crujir esos números.

Cuando se habla de las operaciones sobre matrices, se puede tratar bien a los elementos de la matriz o toda la matriz como el valor que operar. Esa diferencia es bastante claro cuando se compara, por ejemplo, la transposición de una matriz y la adición de un solo número (o escalar) A una matriz.

Al efectuar la transposición, se trabaja con toda la matriz. Al añadir un escalar a una matriz, se agrega que escalar a cada elemento de la matriz.

Se agrega un escalar a una matriz simplemente usando el operador de suma, +, Me gusta esto:

gt; first.matrix + 4 [, 1] [, 2] [, 3] [, 4] [1], 5 8 11 14 [2], 6 9 12 15 [3,] 7 10 13 16

Puede utilizar todos los demás operadores aritméticos exactamente de la misma manera a realizar una operación en todos los elementos de una matriz.

La diferencia entre las operaciones sobre matrices y los elementos se vuelve menos claro si se habla de la adición de matrices juntos. De hecho, la adición de dos matrices es la adición de los elementos que responden. Por lo tanto, es necesario asegurarse de que ambas matrices tienen las mismas dimensiones.

Veamos otro ejemplo: Digamos que quiere añadir al menos 1 a la primera fila, 2 a la segunda fila, y 3 para la tercera fila de la matriz first.matrix. Usted puede hacer esto mediante la construcción de una matriz second.matrix que tiene cuatro columnas y tres filas y que tiene 1, 2, y 3 como valores en la primera, segunda, y tercera filas, respectivamente.

Video: metodo simplex (maximizar) EJEMPLO 1 investigacion de operaciones

El siguiente comando hace utilizando el reciclaje del primer argumento por la función de matriz:

gt; second.matrix lt; - la matriz (1: 3, nrow = 3, ncol = 4)

Con el operador de suma, puede agregar ambas matrices juntos, como esto:

gt; first.matrix + second.matrix [, 1] [, 2] [, 3] [, 4] [1], 2 5 8 11 [2], 4 7 10 13 [3], 6 9 12 15

Esta es la solución de su profesor de matemáticas aprobaría si ella le pidió que hiciera la suma de matrices de la primera y la segunda matriz. Y aún más, si las dimensiones de las dos matrices no son los mismos, R se quejará y se niegan a llevar a cabo la operación, como se muestra en el siguiente ejemplo:

gt; first.matrix + second.matrix [, 1: 3] de error en first.matrix + second.matrix [, 1: 3]: arrays no conformables

Pero, ¿qué pasaría si en lugar de añadir una matriz, que ha añadido un vector? Echar un vistazo a los resultados de la siguiente código:

Video: SageMath: Operaciones con matrices

gt; first.matrix + 1: 3 [, 1] [, 2] [, 3] [, 4] [1], 2 5 8 11 [2], 4 7 10 13 [3], 6 9 12 15

No sólo R no se quejan acerca de las dimensiones, pero recicla el vector a través de los valores de las matrices. De hecho, R trata la matriz como un vector en este caso simplemente ignorando las dimensiones. Por lo tanto, en este caso, no se utiliza la suma de matrices, pero la simple adición (vectorizado).

Por defecto, R llena matrices columna-sabia. Siempre que R lee una matriz, también lee la columna-sabia. Esto tiene importantes implicaciones para el trabajo con matrices. Si no se mantiene al tanto de esto, R se puede morder en la pierna desagradablemente.

Artículos Relacionados