Maestría en EconomíaTaller: Introducción al lenguaje R
Sesión 5: Objetos en R, matrices
Profesor:
Noé Becerra Rodríguez
5 de septiembre 2013
Sesión 5
• Contenido
• Generación de matrices
• Operaciones con matrices
• Manipulación de matrices
2
MatricesUna matriz es un arreglo de números, existen diversas maneras de construir una matriz además de rbind( ) y cbind( ). Por “default” las matrices en R se llenan por columna
> matrix (c (1, 2, 3, 4, 5, 6, 7, 8, 9), nrow = 3)
> matrix (1:8, ncol = 2)
> matrix (c (1, 2, 3, 4, 5, 6, 7, 8, 9), ncol = 9)
> vector10 = c (1:9)
> matrix (vector10, nrow = 3)
3
Operaciones con Matrices > vector5 = c (1,2,4,5,6,7,8,9,10)
> matriz1 = matrix (vector5, nrow=3)
> matriz2 = matrix (11:19, nrow=3)
Sumar un escalar a una matriz
> matriz1
> matriz1 + 2
Producto de un escalar por una matriz
> matriz2
> matriz2 * 3
Suma de dos matrices (deben ser conformes con la suma!)
> matriz1
> matriz2
> matriz1 + matriz2 4
Operaciones con matricesEjercicio. Dadas las siguientes matrices:
4 -1 0 3 8 3
A = 6 9 , B = 3 -2 y C = 6 1 hallar:
a)A + B
b) C - A
c)3*B
d) 4*B + 2*C
5
Operaciones con MatricesLa multiplicación de matrices de álgebra lineal es:
> matriz1 %*% matriz2
PERO NO
> matriz1 * matriz2
Que da el producto elemento a elemento!
Necesario que las matrices sean conformes con el producto para la multiplicación de álgebra lineal!!
El determinante de una matriz
> det (matriz1)
La transpuesta de una matriz
> t (matriz1)
La inversa de una matriz
> solve (matriz1) 6
Operaciones con MatricesEl comando solve() permite obtener la inversa de una matriz dada u obtener el vector solución de un sistema de ecuaciones lineales si los argumentos son la matriz de coeficientes y el vector de las ys
solve(A,b) # donde A es la matriz de coeficientes y b es el vector de las ys
Ejercicio. Hallar el vector solución de los siguientes sistemas de ecuaciones lineales
2x + 3y + z = 12
x + y - z = 4
3x - y + 2z= 6
x + 2y – z = 32
2x + y + z = 16
-4x – 2y + z = 12 7
Operaciones con Matrices
> diag (x) # x es un vector
> diag (A) # A es una matriz
> diag (k) # k es una constante y es numero de columnas y renglones
> y=eigen (A) # calcula los valores y vectores propios de la matriz A
> y$val # da los valores propios de A
> y$vec # obtiene los vectores propios de A
8
Ejercicios
Hallar los valores y vectores propios de la siguientes matrices
1 2 -2
2 1 2
-4 -2 2
2 3 1
-2 -1 4
1 1 -19
Sesión 2
• Contenido
• Instalación de RStudio
• Tipos de objetos en R
• Operaciones con vectores y matrices
• Manipulación de matrices y vectores
10
Manipulación de matricesR permite manipular la matrices de manera sencilla con el indexador [ ]
> matriz1
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
Los números entre corchetes indican la columna y el renglón y sirven para modificar la matrices o extraer elementos de ella
> matriz1[1, 3] # muestra el elemento del renglón 1 columna 3
> matriz1[ 2, ] # muestra el renglón 2
> matriz1[,-2] # elimina la columna 2
> matriz1[1, 1] = 15 # asigna el valor 15 en el renglón 1 columna1
> matriz1 11
Manipulación de matrices
> matriz1[ ,2:3 ] = 2 # asigna 2 a las columnas 2 y 3
> matriz1
> matriz1[ ,2:3 ] = 4:9 # asigna la secuencia 1 a 9 en las columnas 2 y 3
> matriz1
> matriz1[matriz1 > 5] # muestra los valores mayores que 5 en la matriz
> matriz1 > 5 # operador lógico que muestra qué valores son mayores a 5
> matriz1[matriz1 >= 8] = 3 # asigna 3 a los valores que son mayores a 8
12
Tarea1.Calcular la matriz inversa y los valores y vectores propios de las
siguientes matrices
-2 2 1
2 1 2
2 -2 -4
1 3 2
-4 -1 2
-1 1 113
TareaResolver los siguiente sistemas de ecuaciones lineales.
x + 2y + 3z = 24
4x + 5y + 6z = 32
7x + 8y + 9z = 41
x + 4y + 7z = 24
2x + 5y + 8z = 32
3x + 6y - 9z = 41
14
¿preguntas?
http://nbecerrauamx.wordpress.com/
15