15
Maestría en Economía Taller: Introducción al lenguaje R Sesión 5: Objetos en R, matrices Profesor: Noé Becerra Rodríguez 5 de septiembre 2013

Maestría en Economía Taller: Introducción al lenguaje R Sesión 5: Objetos en R, matrices Profesor: Noé Becerra Rodríguez 5 de septiembre 2013

Embed Size (px)

Citation preview

Page 1: Maestría en Economía Taller: Introducción al lenguaje R Sesión 5: Objetos en R, matrices Profesor: Noé Becerra Rodríguez 5 de septiembre 2013

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

Page 2: Maestría en Economía Taller: 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

Page 3: Maestría en Economía Taller: Introducción al lenguaje R Sesión 5: Objetos en R, matrices Profesor: Noé Becerra Rodríguez 5 de septiembre 2013

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

Page 4: Maestría en Economía Taller: Introducción al lenguaje R Sesión 5: Objetos en R, matrices Profesor: Noé Becerra Rodríguez 5 de septiembre 2013

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

Page 5: Maestría en Economía Taller: Introducción al lenguaje R Sesión 5: Objetos en R, matrices Profesor: Noé Becerra Rodríguez 5 de septiembre 2013

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

Page 6: Maestría en Economía Taller: Introducción al lenguaje R Sesión 5: Objetos en R, matrices Profesor: Noé Becerra Rodríguez 5 de septiembre 2013

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

Page 7: Maestría en Economía Taller: Introducción al lenguaje R Sesión 5: Objetos en R, matrices Profesor: Noé Becerra Rodríguez 5 de septiembre 2013

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

Page 8: Maestría en Economía Taller: Introducción al lenguaje R Sesión 5: Objetos en R, matrices Profesor: Noé Becerra Rodríguez 5 de septiembre 2013

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

Page 9: Maestría en Economía Taller: Introducción al lenguaje R Sesión 5: Objetos en R, matrices Profesor: Noé Becerra Rodríguez 5 de septiembre 2013

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

Page 10: Maestría en Economía Taller: Introducción al lenguaje R Sesión 5: Objetos en R, matrices Profesor: Noé Becerra Rodríguez 5 de septiembre 2013

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

Page 11: Maestría en Economía Taller: Introducción al lenguaje R Sesión 5: Objetos en R, matrices Profesor: Noé Becerra Rodríguez 5 de septiembre 2013

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

Page 12: Maestría en Economía Taller: Introducción al lenguaje R Sesión 5: Objetos en R, matrices Profesor: Noé Becerra Rodríguez 5 de septiembre 2013

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

Page 13: Maestría en Economía Taller: Introducción al lenguaje R Sesión 5: Objetos en R, matrices Profesor: Noé Becerra Rodríguez 5 de septiembre 2013

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

Page 14: Maestría en Economía Taller: Introducción al lenguaje R Sesión 5: Objetos en R, matrices Profesor: Noé Becerra Rodríguez 5 de septiembre 2013

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

Page 15: Maestría en Economía Taller: Introducción al lenguaje R Sesión 5: Objetos en R, matrices Profesor: Noé Becerra Rodríguez 5 de septiembre 2013

¿preguntas?

[email protected]

http://nbecerrauamx.wordpress.com/

15