Вы находитесь на странице: 1из 7

Estadística, Matemática y Computación: ALGEBRA LINEAL CON R http://reyesestadistica.blogspot.com/2019/06/algebra-lineal-con-r.

html

Material de los cursos impartidos por el Ingeniero Luis Manfredo Reyes Guatemala, Centro América para el mundo.

martes, 4 de junio de 2019 Buscar

ALGEBRA LINEAL CON R


Facebook
ALGEBRA LINEAL CON R

Ing. Luis Manfredo Reyes Chávez

R es actualmente el lenguaje de análisis más utilizado en el mundo académico y de


investigación, primero por su potencia de procesamiento, y en segundo lugar por ser un software
libre.
R puede ser descargado del siguiente sitio: http://www.r-project.org/
Existen versiones para Windows, Mac, Linux y Android
UN ERROR MUY COMUN POR TODOS LADOS ES: HAY GENTE QUE CREE QUE R ES UN
PAQUETE ESTADÍSTICO (COMO SAS O SPSS).
Por ser un lenguaje y no un paquete, R tiene capacidades para muchos procesos, pero se debe
reconocer que quizá donde más se le ha utilizado es en el campo de la estadística.
Una de las ventajas de R, es la enorme cantidad de librerías (o paquetes), que han sido
desarrolladas para ampliar sus capacidades.
Hay muchos procesos estadísticos que requieren operaciones con matrices, de modo que no es
Seguir por Correo Electronico
extraño que R posea una vasta cantidad de funciones para trabajar con ellas. Y para casos
especiales, hay un paquete que permite emular a MATLAB, y otros para trabajar con casos más
complejos (Matrix, LAPACK, TAUC)

Contribuyentes Visitas Totales


Traducción y adaptación del documento:
https://www.statmethods.net/advstats/matrix.html Ing. Luis
Reyes 1,653,53
rudygt 3
Funciones disponibles en R
Entradas populares

En la siguiente lista, A y B son matrices, x y b son vectores. PRUEBA DE TUKEY PARA


EXPERIMENTOS
Operador o Descripción
DESBALANCEADOS
Función
PRUEBA DE TUKEY PARA
A* B Producto por elementos EXPERIMENTOS
DESBALANCEADOS Ing.
A %*% B Pproducto de Matrices Luis Manfredo Reyes El análisis de
A %o% B Producto externo. AB'
varianza es una técnica para análisis de
dat...
crossprod(A,B) A'B and A'A respectivamente.
crossprod(A) Análisis de Regresión
Logarítmica
t(A) Traspuesta
UNIVERSIDAD DE SAN
diag(x) Crea una matriz diagonal con los elementos de x en la diagonal principal CARLOS FACULTAD DE
INGENIERIA
diag(A) Retorna un vector que contiene los elementos de la diagonal principal
DEPARTAMENTO DE
diag(k) Si k es un escalar, crea una matriz identidad k x k ESTADISTICA ANALISIS DE REGRESION
SIMPLE LOGARITMICA Ing. Agr. Luis
solve(A, b) Retorna el vector x en la ecuación b = Ax (i.e., A-1b) Manfre...
solve(A) Inversa de A si A es una matriz cuadrada (no todas las matrices cuadradas tienen inversa).
Análisis de Regresión
ginv(A) Inversa generalizada de Moore-Penrose de A. Cuadrática
ginv(A) utiliza el paquete MASS UNIVERSIDAD DE SAN
y<-eigen(A) y$val son los eigenvalores de A
CARLOS FACULTAD DE
INGENIERIA ANALISIS DE
y$vec son los eigenvectores of A
REGRESION CUADRATICA
y<-svd(A) Descomposición de valores simples de A . Ing. Agr. Luis Manfredo Reyes Chávez
y$d = vector con los valores singulares de A Profesor Titular Dep...
y$u = matriz con columnas que contienen los vectores singulares izquierdos de A
y$v = matriz con columnas que contienen los vectores singulares derechos de A

R <- chol(A) Factorización de Choleski para A. Retorna el factor triangular superopr, de modo que R'R = A. Archivo del blog

y <- qr(A) Descomposición QR de A. 2019 (8)


y$qr contiene el triangulo superior que contiene la descomposición, y un triangulo inferior que junio (5)
contiene información de la descomposición
Qy$rank es el rango de A.
GEOMETRIA ANALITICA CON R
y$qraux un vector que contiene información adicional de Q Computación Simbólica con R
y$pivot contiene informacion de la estrategia de pivoteo utilizada
ALGEBRA LINEAL CON R
cbind(A,B,...) Combina matrices (o vectores) horizontalmente. Retorna una matriz.
SOLUCIÓN DE ECUACIONES Y
rbind(A,B,...) Combina matrices (o vectores) verticalmente. Retorna una matriz. SISTEMAS DE ECUACIONES CON
R
rowMeans(A) Retorna un vector de medias por filas.
OPERACIONES CON POLINOMIOS EN
rowSums(A) Retorna un vector de sumas por filas
R
colMeans(A) Retorna un vector de medias por columnas
mayo (1)
colSums(A) Retorna un vector de sumas por columnas
marzo (1)
enero (1)

Y ahora@. Los ejemplos, traducidos y adaptados del documento: 2018 (4)

http://www.philender.com/courses/multivariate/notes/matr.html 2017 (35)


2016 (19)
Crear una Matriz 2015 (19)

# La función matrix 2014 (115)


2013 (5)
# Los datos se ingresan por columnas, indicando luego cuántas filas y cuántas columnas se tienen
2011 (34)

> A <- matrix(c(2,3,-2,1,2,2),3,2)

> A

[,1] [,2]

[1,] 2 1

[2,] 3 2

[3,] -2 2

1 de 7 05/01/2021 09:57 p. m.
Estadística, Matemática y Computación: ALGEBRA LINEAL CON R http://reyesestadistica.blogspot.com/2019/06/algebra-lineal-con-r.html

Determinar si un objeto es una Matriz


> is.matrix(A)

[1] TRUE

…. O si es un vector

> is.vector(A)

[1] FALSE

Multiplicación de una matriz por un escalar


> c <- 3

> c*A

[,1] [,2]

[1,] 6 3

[2,] 9 6

[3,] -6 6

Adición y sustracción de matrices

> B <- matrix(c(1,4,-2,1,2,1),3,2)

> B

[,1] [,2]

[1,] 1 1

[2,] 4 2

[3,] -2 1

> C <- A + B

> C

[,1] [,2]

[1,] 3 2

[2,] 7 4

[3,] -4 3

> D <- A - B

> D

[,1] [,2]

[1,] 1 0

[2,] -1 0

[3,] 0 1

Multiplicación de matrices
> D <- matrix(c(2,-2,1,2,3,1),2,3)

> D

[,1] [,2] [,3]

[1,] 2 1 3

[2,] -2 2 1

> C <- D %*% A

> C

[,1] [,2]

[1,] 1 10

[2,] 0 4

> C <- A %*% D

> C

[,1] [,2] [,3]

[1,] 2 4 7

[2,] 2 7 11

[3,] -8 2 -4

> D <- matrix(c(2,1,3),1,3)

2 de 7 05/01/2021 09:57 p. m.
Estadística, Matemática y Computación: ALGEBRA LINEAL CON R http://reyesestadistica.blogspot.com/2019/06/algebra-lineal-con-r.html

> D

[,1] [,2] [,3]

[1,] 2 1 3

> C <- D %*% A

> C

[,1] [,2]

[1,] 1 10

> C <- A %*% D

Error in A %*% D : non-conformable arguments

(En este caso no se puede realizar la operación por no ser conformables, es decir que el número de columnas de la primera debe ser igual al número de filas de l

Transpuesta de una matriz


> AT <- t(A)

> AT

[,1] [,2] [,3]

[1,] 2 3 -2

[2,] 1 2 2

> ATT <- t(AT)

>ATT

[,1] [,2]

[1,] 2 1

[2,] 3 2

[3,] -2 2

Vectores comunmente usados


Vector unitario
> U <- matrix(1,3,1)

> U

[,1]

[1,] 1

[2,] 1

[3,] 1

Vector nulo o cero


> Z <- matrix(0,3,1)

> Z

[,1]

[1,] 0

[2,] 0

[3,] 0

Matrices comúnmente usadas


Matriz unitaria
> U <- matrix(1,3,2)

> U

[,1] [,2]

[1,] 1 1

[2,] 1 1

[3,] 1 1

Matriz nula o cero


> Z <- matrix(0,3,2)

> Z

[,1] [,2]

[1,] 0 0

[2,] 0 0

[3,] 0 0

3 de 7 05/01/2021 09:57 p. m.
Estadística, Matemática y Computación: ALGEBRA LINEAL CON R http://reyesestadistica.blogspot.com/2019/06/algebra-lineal-con-r.html

Matriz diagonal
> S <- matrix(c(2,3,-2,1,2,2,4,2,3),3,3)

> S

[,1] [,2] [,3]

[1,] 2 1 4

[2,] 3 2 2

[3,] -2 2 3

> D <- diag(S)

> D

[1] 2 2 3

> D <- diag(diag(S))

> D

[,1] [,2] [,3]

[1,] 2 0 0

[2,] 0 2 0

[3,] 0 0 3

Matriz identidad
> I <- diag(c(1,1,1))

> I

[,1] [,2] [,3]

[1,] 1 0 0

[2,] 0 1 0

[3,] 0 0 1

Matriz simétrica
> C <- matrix(c(2,1,5,1,3,4,5,4,-2),3,3)

> C

[,1] [,2] [,3]

[1,] 2 1 5

[2,] 1 3 4

[3,] 5 4 -2

> CT <- t(C)

> CT

[,1] [,2] [,3]

[1,] 2 1 5

[2,] 1 3 4

[3,] 5 4 -2

Inversa de una matriz


> A <- matrix(c(4,4,-2,2,6,2,2,8,4),3,3)

> A

[,1] [,2] [,3]

[1,] 4 2 2

[2,] 4 6 8

[3,] -2 2 4

> AI <- solve(A)

> AI

[,1] [,2] [,3]

[1,] 1.0 -0.5 0.5

[2,] -4.0 2.5 -3.0

[3,] 2.5 -1.5 2.0

## el producto de una matriz por su inversa debe ser igual a la matriz identidad

> A %*% AI

4 de 7 05/01/2021 09:57 p. m.
Estadística, Matemática y Computación: ALGEBRA LINEAL CON R http://reyesestadistica.blogspot.com/2019/06/algebra-lineal-con-r.html

[,1] [,2] [,3]

[1,] 1 0 0

[2,] 0 1 0

[3,] 0 0 1

> AI %*% A

[,1] [,2] [,3]

[1,] 1 0 0

[2,] 0 1 0

[3,] 0 0 1

Inversa y Determinante de una Matriz


> C <- matrix(c(2,1,6,1,3,4,6,4,-2),3,3)

> C

[,1] [,2] [,3]

[1,] 2 1 6

[2,] 1 3 4

[3,] 6 4 -2

> CI <- solve(C)

CI

[,1] [,2] [,3]

[1,] 0.2156863 -0.25490196 0.13725490

[2,] -0.2549020 0.39215686 0.01960784

[3,] 0.1372549 0.01960784 -0.04901961

> d <- det(C)

> d

[1] -102

Rango de una matrix


> A <- matrix(c(2,3,-2,1,2,2,4,7,0),3,3)

> A

[,1] [,2] [,3]

[1,] 2 1 4

[2,] 3 2 7

[3,] -2 2 0

> matA <- qr(A)

> matA$rank

[1] 3

> A <- matrix(c(2,3,-2,1,2,2,4,6,-4),3,3)

> A

[,1] [,2] [,3]

[1,] 2 1 4

[2,] 3 2 6

[3,] -2 2 -4

> matA <- qr(A)

> matA$rank

[1] 2

# note column 3 is 2 times column 1

Numero de filas y columnas


> X <- matrix(c(3,2,4,3,2,-2,6,1),4,2)

> X

[,1] [,2]

[1,] 3 2

[2,] 2 -2

5 de 7 05/01/2021 09:57 p. m.
Estadística, Matemática y Computación: ALGEBRA LINEAL CON R http://reyesestadistica.blogspot.com/2019/06/algebra-lineal-con-r.html

[3,] 4 6

[4,] 3 1

> dim(X)

[1] 4 2

> r <- nrow(X)

> r

[1] 4

> c <- ncol(X)

> c

[1] 2

Calcular sumas de filas y columnas


# ojo con la S en mayúsculas

> A <- matrix(c(2,3,-2,1,2,2),3,2)

> A

[,1] [,2]

[1,] 2 1

[2,] 3 2

[3,] -2 2

> c <- colSums(A)

> c

[1] 3 5

> r <- rowSums(A)

> r

[1] 3 5 0

> a <- sum(A)

> a

[1] 8

Calcular medias por filas y columnas


# Ojo con la M en mayúsculas

> cm <- colMeans(A)

> cm

[1] 1.000000 1.666667

> rm <- rowMeans(A)

> rm

[1] 1.5 2.5 0.0

> m <- mean(A)

> m

[1] 1.333333

Concatenación por columnas


> A

[,1] [,2]

[1,] 2 1

[2,] 3 2

[3,] -2 2

> B <- matrix(c(1,3,2,1,4,2),3,2)

6 de 7 05/01/2021 09:57 p. m.
Estadística, Matemática y Computación: ALGEBRA LINEAL CON R http://reyesestadistica.blogspot.com/2019/06/algebra-lineal-con-r.html

> B

[,1] [,2]

[1,] 1 1

[2,] 3 4

[3,] 2 2

> C <- cbind(A,B)

> C

[,1] [,2] [,3] [,4]

[1,] 2 1 1 1

[2,] 3 2 3 4

[3,] -2 2 2 2

Concatenación por filas


> C <- rbind(A,B)

> C

[,1] [,2]

[1,] 2 1

[2,] 3 2

[3,] -2 2

[4,] 1 1

[5,] 3 4

[6,] 2 2

Publicado por Ing. Luis Reyes en 7:25

Etiquetas: Algebra Lineal, R

No hay comentarios:

Publicar un comentario

Comentar como:

Publicar Avisarme

Entrada más reciente Inicio Entrada antigua

Suscribirse a: Enviar comentarios (Atom)

Tema Sencillo. Con la tecnología de Blogger.

7 de 7 05/01/2021 09:57 p. m.

Вам также может понравиться