Uso de matrices en rstudio

Para llevar a cabo las operaciones básicas de matrices en r, se debe en primer lugar crear dos matrices, que llamaremos matrices A y B respectivamente.

Para crear la matriz A con valores aleatorios utilice el siguiente comando:

# creando un vector de números aleatorios
vecA <- sample(1:20, 20, replace = TRUE)
vecA
##  [1] 16 17  6 14 14  2 13  8 14  9 18 13  8  5 13 19 12  5  2  4
# generando la matriz de A

A <- matrix(vecA, nrow = 4, ncol = 5, byrow = FALSE)
A
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   16   14   14    8   12
## [2,]   17    2    9    5    5
## [3,]    6   13   18   13    2
## [4,]   14    8   13   19    4

Ahora generamos una nueva matriz de variables aleatorias, que llamaremos B

# El vector de variables aleatorias B es: 

vecB <- sample(1:20, 20, replace = TRUE)
vecB
##  [1] 19  6  6 17  4 18 15  8  6 20  8  6 13 14 15 19  7  1 18  5
#Las variables se agrupan en un vector de iguales magnitudes 
B<-matrix(vecB, nrow=4, ncol = 5, byrow=FALSE)
B
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   19    4    6   13    7
## [2,]    6   18   20   14    1
## [3,]    6   15    8   15   18
## [4,]   17    8    6   19    5

Trasnpuesta de una matriz

Para ejecutar la traspuesta de las matrices A y B; se utiliza los siguientes códigos:

#Llamamos al vector deseado, en ester caso A

A
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   16   14   14    8   12
## [2,]   17    2    9    5    5
## [3,]    6   13   18   13    2
## [4,]   14    8   13   19    4
# Posteriormente ejecutamos la trasmpuesta 
trans_A<-t(A)
trans_A
##      [,1] [,2] [,3] [,4]
## [1,]   16   17    6   14
## [2,]   14    2   13    8
## [3,]   14    9   18   13
## [4,]    8    5   13   19
## [5,]   12    5    2    4

Operaciones básicas de matrices

Multiplicación por un escalar

Para multiplicar un vector por un escalar se utiliza los siguientes comandos

#La constante se define como "c"
c<-2

#Posteriormente se multiplica por un vector 

cB<-c*B
cB
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   38    8   12   26   14
## [2,]   12   36   40   28    2
## [3,]   12   30   16   30   36
## [4,]   34   16   12   38   10

Suma de matrices

Para elaborar suma de matrices se utiliza el siguente comando

sum_AB<-A+B
sum_AB
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   35   18   20   21   19
## [2,]   23   20   29   19    6
## [3,]   12   28   26   28   20
## [4,]   31   16   19   38    9

Que es igual a

sum_BA<-B+A
sum_BA
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   35   18   20   21   19
## [2,]   23   20   29   19    6
## [3,]   12   28   26   28   20
## [4,]   31   16   19   38    9

Multiplicación de matrices

Para llevar a cabo una multiplicación de matrices se utiliza la siguiente linea de códigos

#¿porqué por la transpuesta?
mul_AB<-A%*%t(B)
mul_AB
##      [,1] [,2] [,3] [,4]
## [1,]  632  752  754  680
## [2,]  485  393  369  479
## [3,]  457  814  606  571
## [4,]  651  758  665  761

Determinante de una matriz

Para determinar el determinanate de una matriz se utilizá el siguiente código

C<-matrix(ncol=3,c(2,4,3,5,7,1,2,2,3),byrow=TRUE)

det_C<-det(C)
det_C
## [1] -26

Inversa de una matriz

Utilizando como base la matriz C se calcula la inversa de la matriz como:

I=diag(1,nrow=3) # Matriz diagonal de dimension 3
I
##      [,1] [,2] [,3]
## [1,]    1    0    0
## [2,]    0    1    0
## [3,]    0    0    1
solve(C,I) # Matriz inversa de A
##            [,1]       [,2]       [,3]
## [1,] -0.7307692  0.2307692  0.6538462
## [2,]  0.5000000  0.0000000 -0.5000000
## [3,]  0.1538462 -0.1538462  0.2307692

Sistemas de ecuaciones

Si se quier resolver un sistema de ecuaciones se debe utilizar el siguiente plantamiento

sea 2X+3Y=4 Y 4x+2y=9

Entonces se plantea la tarea como:

Para las variables x,y

x<-matrix(c(2,4,3,2), 2,2)
x
##      [,1] [,2]
## [1,]    2    3
## [2,]    4    2

Para las variables independientes

y<-matrix(c(4,9),2,1)
y
##      [,1]
## [1,]    4
## [2,]    9

Resolviendo

r<-solve(t(x)%*%x)%*%t(x)%*%y
r
##        [,1]
## [1,]  2.375
## [2,] -0.250