Más aplicaciones estadísticas en:

https://rpubs.com/orlandoan

Construir una matriz.

A<-matrix(c(1,5,2,3,2,4,1,5,8),byrow=TRUE,nrow=3);A
##      [,1] [,2] [,3]
## [1,]    1    5    2
## [2,]    3    2    4
## [3,]    1    5    8
B<-matrix(c(2,-1,3,3,0,1,4,-2,1),byrow=TRUE,nrow=3);B
##      [,1] [,2] [,3]
## [1,]    2   -1    3
## [2,]    3    0    1
## [3,]    4   -2    1
C<-matrix(c(10,8,7,12),byrow=TRUE,nrow=2);C
##      [,1] [,2]
## [1,]   10    8
## [2,]    7   12

Dimensión de la matriz.

dim(A)
## [1] 3 3

Mostrar un elemento (fila 2 columna 3).

A[2,3]
## [1] 4

Mostrar una fila (fila 2).

B[2,]
## [1] 3 0 1

Mostrar una columna (columna 3).

A[,3]
## [1] 2 4 8

Añadir una fila a una matriz.

A1 <- rbind(A, c(6, 1, 7))
A1
##      [,1] [,2] [,3]
## [1,]    1    5    2
## [2,]    3    2    4
## [3,]    1    5    8
## [4,]    6    1    7

Añadir una columna a una matriz.

A2 <- cbind(A, c(6, 1, 7))
A2
##      [,1] [,2] [,3] [,4]
## [1,]    1    5    2    6
## [2,]    3    2    4    1
## [3,]    1    5    8    7

Unir dos matrices.

cbind(A,B)
##      [,1] [,2] [,3] [,4] [,5] [,6]
## [1,]    1    5    2    2   -1    3
## [2,]    3    2    4    3    0    1
## [3,]    1    5    8    4   -2    1

O también.

rbind(A,B)
##      [,1] [,2] [,3]
## [1,]    1    5    2
## [2,]    3    2    4
## [3,]    1    5    8
## [4,]    2   -1    3
## [5,]    3    0    1
## [6,]    4   -2    1

Matriz transpuesta.

AT<-t(A);AT
##      [,1] [,2] [,3]
## [1,]    1    3    1
## [2,]    5    2    5
## [3,]    2    4    8

Suma de dos matrices.

#suma
S1<-A+B;S1
##      [,1] [,2] [,3]
## [1,]    3    4    5
## [2,]    6    2    5
## [3,]    5    3    9

Diferencia de dos matrices.

S2<-B-A;S2
##      [,1] [,2] [,3]
## [1,]    1   -6    1
## [2,]    0   -2   -3
## [3,]    3   -7   -7

Multiplicación por escalar.

S3<-3*A;S3
##      [,1] [,2] [,3]
## [1,]    3   15    6
## [2,]    9    6   12
## [3,]    3   15   24

Multiplicación elemento a elemento.

S4<-A*B;S4
##      [,1] [,2] [,3]
## [1,]    2   -5    6
## [2,]    9    0    4
## [3,]    4  -10    8

Producto de dos matrices.

S5<-A%*%B;S5
##      [,1] [,2] [,3]
## [1,]   25   -5   10
## [2,]   28  -11   15
## [3,]   49  -17   16

Inversa de una matriz.

I1<-solve(A);I1
##             [,1]        [,2]        [,3]
## [1,]  0.05128205  0.38461538 -0.20512821
## [2,]  0.25641026 -0.07692308 -0.02564103
## [3,] -0.16666667  0.00000000  0.16666667

Inversa generalizada (Moore-Penrose).

ginv(A)
##             [,1]          [,2]        [,3]
## [1,]  0.05128205  3.846154e-01 -0.20512821
## [2,]  0.25641026 -7.692308e-02 -0.02564103
## [3,] -0.16666667  5.551115e-17  0.16666667

Producto cruzado

crossprod(A,B)
##      [,1] [,2] [,3]
## [1,]   15   -3    7
## [2,]   36  -15   22
## [3,]   48  -18   18

Equivalente a

t(A) %*% B
##      [,1] [,2] [,3]
## [1,]   15   -3    7
## [2,]   36  -15   22
## [3,]   48  -18   18

También

tcrossprod(A, B)
##      [,1] [,2] [,3]
## [1,]    3    5   -4
## [2,]   16   13   12
## [3,]   21   11    2

Equivalente a

A %*% t(B)
##      [,1] [,2] [,3]
## [1,]    3    5   -4
## [2,]   16   13   12
## [3,]   21   11    2

Producto exterior.

A %o% B
## , , 1, 1
## 
##      [,1] [,2] [,3]
## [1,]    2   10    4
## [2,]    6    4    8
## [3,]    2   10   16
## 
## , , 2, 1
## 
##      [,1] [,2] [,3]
## [1,]    3   15    6
## [2,]    9    6   12
## [3,]    3   15   24
## 
## , , 3, 1
## 
##      [,1] [,2] [,3]
## [1,]    4   20    8
## [2,]   12    8   16
## [3,]    4   20   32
## 
## , , 1, 2
## 
##      [,1] [,2] [,3]
## [1,]   -1   -5   -2
## [2,]   -3   -2   -4
## [3,]   -1   -5   -8
## 
## , , 2, 2
## 
##      [,1] [,2] [,3]
## [1,]    0    0    0
## [2,]    0    0    0
## [3,]    0    0    0
## 
## , , 3, 2
## 
##      [,1] [,2] [,3]
## [1,]   -2  -10   -4
## [2,]   -6   -4   -8
## [3,]   -2  -10  -16
## 
## , , 1, 3
## 
##      [,1] [,2] [,3]
## [1,]    3   15    6
## [2,]    9    6   12
## [3,]    3   15   24
## 
## , , 2, 3
## 
##      [,1] [,2] [,3]
## [1,]    1    5    2
## [2,]    3    2    4
## [3,]    1    5    8
## 
## , , 3, 3
## 
##      [,1] [,2] [,3]
## [1,]    1    5    2
## [2,]    3    2    4
## [3,]    1    5    8

Equivalente a

outer(A, B, FUN = "*") 
## , , 1, 1
## 
##      [,1] [,2] [,3]
## [1,]    2   10    4
## [2,]    6    4    8
## [3,]    2   10   16
## 
## , , 2, 1
## 
##      [,1] [,2] [,3]
## [1,]    3   15    6
## [2,]    9    6   12
## [3,]    3   15   24
## 
## , , 3, 1
## 
##      [,1] [,2] [,3]
## [1,]    4   20    8
## [2,]   12    8   16
## [3,]    4   20   32
## 
## , , 1, 2
## 
##      [,1] [,2] [,3]
## [1,]   -1   -5   -2
## [2,]   -3   -2   -4
## [3,]   -1   -5   -8
## 
## , , 2, 2
## 
##      [,1] [,2] [,3]
## [1,]    0    0    0
## [2,]    0    0    0
## [3,]    0    0    0
## 
## , , 3, 2
## 
##      [,1] [,2] [,3]
## [1,]   -2  -10   -4
## [2,]   -6   -4   -8
## [3,]   -2  -10  -16
## 
## , , 1, 3
## 
##      [,1] [,2] [,3]
## [1,]    3   15    6
## [2,]    9    6   12
## [3,]    3   15   24
## 
## , , 2, 3
## 
##      [,1] [,2] [,3]
## [1,]    1    5    2
## [2,]    3    2    4
## [3,]    1    5    8
## 
## , , 3, 3
## 
##      [,1] [,2] [,3]
## [1,]    1    5    2
## [2,]    3    2    4
## [3,]    1    5    8

Rango de una matriz.

qr(A)$rank 
## [1] 3
qr(C)$rank
## [1] 2

Producto Kronecker.

A %x% B
##       [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
##  [1,]    2   -1    3   10   -5   15    4   -2    6
##  [2,]    3    0    1   15    0    5    6    0    2
##  [3,]    4   -2    1   20  -10    5    8   -4    2
##  [4,]    6   -3    9    4   -2    6    8   -4   12
##  [5,]    9    0    3    6    0    2   12    0    4
##  [6,]   12   -6    3    8   -4    2   16   -8    4
##  [7,]    2   -1    3   10   -5   15   16   -8   24
##  [8,]    3    0    1   15    0    5   24    0    8
##  [9,]    4   -2    1   20  -10    5   32  -16    8

Diagonal de la matriz.

diag(A)
## [1] 1 2 8

Diagonal secundaria de la matriz.

diag(apply(A, 2, rev))
## [1] 1 2 2

Construir una matriz diagonal.

diag(c(1,2,3))
##      [,1] [,2] [,3]
## [1,]    1    0    0
## [2,]    0    2    0
## [3,]    0    0    3

Traza de una matriz.

S6<-sum(diag(B));S6
## [1] 3

Construir matriz identidad,

diag(4)
##      [,1] [,2] [,3] [,4]
## [1,]    1    0    0    0
## [2,]    0    1    0    0
## [3,]    0    0    1    0
## [4,]    0    0    0    1

Matriz de ceros.

diag(0,3)
##      [,1] [,2] [,3]
## [1,]    0    0    0
## [2,]    0    0    0
## [3,]    0    0    0
diag(0,2,4)
##      [,1] [,2] [,3] [,4]
## [1,]    0    0    0    0
## [2,]    0    0    0    0
matrix(0,nrow=4,ncol=4)
##      [,1] [,2] [,3] [,4]
## [1,]    0    0    0    0
## [2,]    0    0    0    0
## [3,]    0    0    0    0
## [4,]    0    0    0    0

Matriz de unos.

M1<-matrix(1,nrow = 4,ncol=5);M1
##      [,1] [,2] [,3] [,4] [,5]
## [1,]    1    1    1    1    1
## [2,]    1    1    1    1    1
## [3,]    1    1    1    1    1
## [4,]    1    1    1    1    1

Autovalores de una matriz.

eigen(A)
## eigen() decomposition
## $values
## [1] 11.363975 -2.808185  2.444210
## 
## $vectors
##           [,1]       [,2]       [,3]
## [1,] 0.3782381  0.7269595  0.7473576
## [2,] 0.4634800 -0.6463857  0.4213584
## [3,] 0.8013253  0.2317659 -0.5137253
eigen(A)$values
## [1] 11.363975 -2.808185  2.444210

Autovectores.

eigen(A)$vectors
##           [,1]       [,2]       [,3]
## [1,] 0.3782381  0.7269595  0.7473576
## [2,] 0.4634800 -0.6463857  0.4213584
## [3,] 0.8013253  0.2317659 -0.5137253
eigen(A)
## eigen() decomposition
## $values
## [1] 11.363975 -2.808185  2.444210
## 
## $vectors
##           [,1]       [,2]       [,3]
## [1,] 0.3782381  0.7269595  0.7473576
## [2,] 0.4634800 -0.6463857  0.4213584
## [3,] 0.8013253  0.2317659 -0.5137253

Descomposición singular o SVD.

svd(C)
## $d
## [1] 18.577731  3.444985
## 
## $u
##            [,1]       [,2]
## [1,] -0.6756412 -0.7372306
## [2,] -0.7372306  0.6756412
## 
## $v
##            [,1]       [,2]
## [1,] -0.6414683 -0.7671495
## [2,] -0.7671495  0.6414683

Descomposición QR.

qr(C)
## $qr
##             [,1]       [,2]
## [1,] -12.2065556 -13.435403
## [2,]   0.5734623   5.243084
## 
## $rank
## [1] 2
## 
## $qraux
## [1] 1.819232 5.243084
## 
## $pivot
## [1] 1 2
## 
## attr(,"class")
## [1] "qr"
qr(C)$qr
##             [,1]       [,2]
## [1,] -12.2065556 -13.435403
## [2,]   0.5734623   5.243084

Factorización de Cholesky.

chol(C)
##          [,1]     [,2]
## [1,] 3.162278 2.529822
## [2,] 0.000000 2.366432

Suma de las filas.

rowSums(A)
## [1]  8  9 14

Suma de las columnas.

colSums(A)
## [1]  5 12 14

Media de las filas.

rowMeans(B)
## [1] 1.333333 1.333333 1.000000

Media de las columas.

colMeans(B)
## [1]  3.000000 -1.000000  1.666667

Solución de un sistema de ecuaciones lineales.

\(3x+2y+z=6\)

\(2x-y+4z=-4\)

\(x+y-2z=5\)

X=matrix(c(3,2,1,2,-1,4,1,1,-2),byrow=TRUE,nrow=3);X
##      [,1] [,2] [,3]
## [1,]    3    2    1
## [2,]    2   -1    4
## [3,]    1    1   -2
Y=matrix(c(6,-4,5),byrow=TRUE,nrow=3);Y
##      [,1]
## [1,]    6
## [2,]   -4
## [3,]    5
solve(X,Y)
##      [,1]
## [1,]    1
## [2,]    2
## [3,]   -1

Agregar nombres a las filas y columnas

G<-matrix(c(3,2,7,9,0,5,1,11,8,5,2,3),byrow=T,nrow=3)
rownames(G)<-c("Fila 1", "Fila 2", "Fila 3")
colnames(G)<-c("col 1","col 2","col 3","col 4")
G
##        col 1 col 2 col 3 col 4
## Fila 1     3     2     7     9
## Fila 2     0     5     1    11
## Fila 3     8     5     2     3

|-|-|-|

O.M.F.

|-|-|-|