Taller de matemáticas y estadísticas
Aprendemos estadisticas y algebra lineal con R
Abstract
Comenzamos con algebra lineal
Matrices
x <- seq(2,8,2)
x
## [1] 2 4 6 8
5.5 8 10.5
# x <- seq(5.5,10.5,2.5)
# x
y <- 4:1
y
## [1] 4 3 2 1
xy <- x+y
xy
## [1] 6 7 8 9
siendo:
x = 5.5 8.0 10.5 y = 3 2 1
crossprod(x,y)
## [,1]
## [1,] 40
5.5*3+8*2 +10.5*1
## [1] 43
x = 5.5 8.0 10.5 x = 5.5 8.0 10.5
crossprod(x)
## [,1]
## [1,] 120
5.5*5.5 +8*8 +10.5*10.5
## [1] 204.5
El producto cruzado retorna una matriz, no un escalar y es lo anterior.
x = 2 4 6 8 y = 4 3 2 1
z = 8 12 12 8
El operador * entre secuencias de numeros devuelve un producto cruz:
x*y
## [1] 8 12 12 8
x
## [1] 2 4 6 8
%o% es el producto externo (outer) de las matrices:
matriz_outer <- x %o% x
matriz_outer
## [,1] [,2] [,3] [,4]
## [1,] 4 8 12 16
## [2,] 8 16 24 32
## [3,] 12 24 36 48
## [4,] 16 32 48 64
fila 1 columna 1: 4 fila 2 columna 1: 42 = 8 fila 3 columna 1: 62 = 12
fila 3 columna 4: 6*8 = 48
tercera_fila <- matriz_outer[3,]
tercera_fila
## [1] 12 24 36 48
segunda_columna <- matriz_outer[,2]
segunda_columna
## [1] 8 16 24 32
una_matriz_diagonal <- diag(7, 2, 3)
una_matriz_diagonal
## [,1] [,2] [,3]
## [1,] 7 0 0
## [2,] 0 7 0
una_matriz <- matrix(1, 4, 3)
una_matriz
## [,1] [,2] [,3]
## [1,] 1 1 1
## [2,] 1 1 1
## [3,] 1 1 1
## [4,] 1 1 1
Quiero llenar una matriz de 2x3 con una secuencia: 5,6,7,8,9 y 10
una_matriz <- matrix(5:10,2,3)
una_matriz
## [,1] [,2] [,3]
## [1,] 5 7 9
## [2,] 6 8 10