Tabla de contenido:
- Transponer una matriz en R
- Tenga cuidado al invertir una matriz como esta debido al riesgo de errores de redondeo. R calcula la mayoría de las estadísticas basadas en descomposiciones como la descomposición QR, la descomposición de un solo valor y la descomposición de Cholesky. Puede hacerlo usted mismo usando las funciones qr (), svd () y chol (), respectivamente. Consulte las respectivas páginas de Ayuda para más información.
Video: 4. Operaciones aritméticas en R 2024
Además de los operadores aritméticos clásicos, R contiene un gran conjunto de operadores y funciones para realizar un conjunto amplio de operaciones matriciales Muchas de estas operaciones se usan en matemáticas avanzadas, por lo que puede que nunca las necesite. Sin embargo, algunos de ellos pueden ser bastante útiles si necesita voltear datos o si desea calcular algunas estadísticas usted mismo.
Transponer una matriz en R
Volteando alrededor de una matriz para que las filas se conviertan en columnas y viceversa es muy fácil en R. La función t () (que significa transponer ) hace todo el trabajo para ti:
Puedes probar esto con un vector, también. Como las matrices se leen y rellenan en columnas, no debe sorprender que la función t () vea un vector como una matriz de una columna. La transposición de un vector es, por lo tanto, una matriz de una sola fila: >> t (1: 10) [1] [2] [3] [4] [5] [6] [, 7] [8] [9] [10] [1,] 1 2 3 4 5 6 7 8 9 10
Puedes ver que esta es una matriz por las dimensiones. Esta información parece trivial por cierto, pero imagine que está seleccionando solo una fila de una matriz y transponiéndola. A diferencia de lo que esperaría, obtiene una fila en lugar de una columna:
>> t (primera. Matriz [2,]) [1] [2] [3] [4] [1,] 2 5 8 11
Invertir una matriz en R
Contrariamente a su intuición, invertir una matriz no se hace elevándola a la potencia de -1, R normalmente aplica los operadores aritméticos en forma de elemento en la matriz. Entonces, el comando primero. la matriz ^ (- 1) no te da el inverso de la matriz; en cambio, te da el inverso de los elementos. Para invertir una matriz, usa la función solve (), como esta:>> cuadrado. matriz resolver (cuadrado, matriz) [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 al invertir una matriz como esta debido al riesgo de errores de redondeo. R calcula la mayoría de las estadísticas basadas en descomposiciones como la descomposición QR, la descomposición de un solo valor y la descomposición de Cholesky. Puede hacerlo usted mismo usando las funciones qr (), svd () y chol (), respectivamente. Consulte las respectivas páginas de Ayuda para más información.
Multiplicar dos matrices en R
El operador de multiplicación (*) funciona en sentido de elemento en las matrices. Para calcular el producto interno de dos matrices, usa el operador especial% *%, como este: >> primero. matriz% *% t (segunda matriz) [1] [2] [3] [1,] 22 44 66 [2,] 26 52 78 [3,] 30 60 90Tienes que transponer el segundo.matriz primero; de lo contrario, ambas matrices tienen dimensiones no ajustables. Multiplicar una matriz por un vector es un caso especial; siempre que las dimensiones se ajusten, R convertirá automáticamente el vector en una matriz de fila o columna, lo que sea aplicable en ese caso. Puede verificarlo usted mismo en el siguiente ejemplo: >> primero. matriz% *% 1: 4 [1] [1,] 70 [2,] 80 [3,] 90> 1: 3% *% primero. matriz [1] [2] [3] [4] [1,] 14 32 50 68