introducción al lenguaje r sesión 2: objetos en r instructor: noé becerra rodríguez 28 de mayo...

39
Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

Upload: armando-hernadez

Post on 10-Feb-2015

11 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

Introducción al lenguaje R

Sesión 2: Objetos en R

Instructor:

Noé Becerra Rodríguez

28 de mayo 2014

Page 2: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

Ayuda en R - Kurtosis

2

Page 3: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

Ayuda en R - Kurtosis

3

Page 4: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

Ayuda en R - Kurtosis

4

Page 5: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

Ayuda en R - Kurtosis

5

Page 6: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

Ayuda en R - Kurtosis

?na.rm

Page 7: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

Manejo de paquetes en R

Mirrors

Memoria ROMAlmacenamiento

Memoria RAMVolátil

Install.packages(“tree”)

library(tree)

7

Page 8: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

Operaciones básicas en R

Page 9: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

¿preguntas?

9

Page 10: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

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: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

Problemas con RProblemas con el ambiente original de R

¿Cómo revisar el workspace?

> ls( )

¿Cómo visualizar la historia de los comandos?

> history( )

¿Cómo saber que paquetes tengo instalados o cargados en memoria?

> installed.packages( )

> sessionInfo( )

¿Cómo ver el contenido de la carpeta de R?

> dir( )

Rstudio es un IDE para R que permite un manejo más cómodo de los elementos del ambiente R! 11

Page 12: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

Sesión 2

• Contenido

• Instalación de RStudio

• Tipos de objetos en R

• Operaciones con vectores y matrices

• Manipulación de matrices y vectores

12

Page 13: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

Instalación RStudiohttp://www.rstudio.com/

13

Page 14: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

Instalación RStudio

14

Page 15: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

Instalación RStudio

15

Page 16: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

Instalar RStudio

• Doble click en el archivo que se bajó

• Dar “siguiente” unas pocas veces

• Usar la configuración por “default”

• Finalizar la instalación

16

Page 17: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

¿preguntas?

17

Page 18: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

Pantalla de RStudio

18

Page 19: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

Sesión 2

• Contenido

• Instalación de RStudio

• Tipos de objetos en R

• Operaciones con vectores y matrices

• Manipulación de matrices y vectores

19

Page 20: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

Tipos de objetos en RVectores - variables con uno o más valores del mismo tipo (lógico, numérico o de cadena (alfanumérico)

Abrir un nuevo script en RStudio

>vec1=c(1,3,4,6,8,10,12,16)

> vec1

[1] 1 3 4 6 8 10 12 16

R permite también el manejo de vectores de cadena o carácter

> cadena1="a b c d e f g"

R también utiliza vectores lógicos

> lógico=c(TRUE, TRUE, FALSE, FALSE, TRUE)

Ejercicio.

1.Definir 3 vectores numéricos (vec2, vec3, vec4)

2. Sumar y restar dos vectores 20

Page 21: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

Tipos de objetos en RLos objetos tienes dos propiedades que resultan muy útiles: mode(x) y length(x)

La multiplicación normal de vectores no obtiene el producto interno, sino el producto elemento a elemento. La función sum(x*y) sí da el producto interno de un vector

Ejercicios

1. Aplicar la función mode y length a los vectores que se definieron en el ejercicio anterior

2. Multiplicar 2 vectores

3. Obtener el producto interno de esos mismos vectores

Al multiplicar dos vectores de diferente dimensión, el vector más corto se “recicla”. Ejemplo:

> a1=c(2,3,5,7,9,12,15,20)

> b1=c(1,2)

> a1*b1 21

Page 22: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

VectoresLas funciones cbind(x,y) y rbind(x,y) unen los vectores x e y por columnas o por renglones respectivamente

> x1=c(1,2,3); y1=c(4,5,6)

> cbind(x1,y1)

x1 y1

[1,] 1 4

[2,] 2 5

[3,] 3 6

> rbind(x1,y1)

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

x1 1 2 3

y1 4 5 622

Page 23: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

dataframes

Ejercicios

1.Construir 3 vectores numéricos y unirlos por renglón

2. Esos mismos 3 vectores unirlos ahora por columna

23

Page 24: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

Operaciones con vectores en R

24

Page 25: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

Ejercicio

1. Construir un vector y calcular las varias operaciones en esos datos

2. Con el siguiente vector calcular algunas operaciones de vectores

> vectorx=c(1:12, NA, NA, NA,16:20)

> vectorx

25

Page 26: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

Sesión 2

• Contenido

• Instalación de RStudio

• Tipos de objetos en R

• Operaciones con vectores y matrices

• Manipulación de matrices y vectores

26

Page 27: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

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)

En caso de que el vector que está llenando la matriz no tenga suficientes elementos, se recicla el vector

> vector1=c(1:8)

> matrix(vector1, nrow=3) 27

Page 28: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

Operaciones con Matrices> matriz1=matrix(1:9, nrow=3);

> matriz2=matrix(10:18, 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 28

Page 29: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

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

29

Page 30: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

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 (x)

La transpuesta de una matriz

> t (matriz1)

La inversa de una matriz

> solve (matriz1) 30

Page 31: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

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 y

solve(A,b) # donde A es la matriz de coeficientes y b es el vector de las y

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 = 1231

Page 32: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

Operaciones con Matrices

> diag(x) # x es un vector

> diag(A) # A es una matriz

> diag(k) # k es una constante

> y=eigen(A) # calcula los valores y vectores propios de la matriz 2

> y$val  # da los valores propios de A

> y$vec  # obtiene los vectores propios de A

32

Page 33: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

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 -133

Page 34: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

Sesión 2

• Contenido

• Instalación de RStudio

• Tipos de objetos en R

• Operaciones con vectores y matrices

• Manipulación de matrices y vectores

34

Page 35: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

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 35

Page 36: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

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

36

Page 37: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

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 137

Page 38: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

TareaResolver los siguiente sistemas de ecuaciones lineales. En primera instancia sin utilizar la función solve( ) y después usando este comando para verificar las operaciones realizadas

x + 2y + 3z = 24

4x + 5y + 6z = 32

7x + 8y + 9z = 41

x + 2y + 3z = 24

4x + 5y + 6z = 32

7x + 8y - 9z = 41

38

Page 39: Introducción al lenguaje R Sesión 2: Objetos en R Instructor: Noé Becerra Rodríguez 28 de mayo 2014

¿preguntas?

[email protected]

http://nbecerrastatistics.wordpress.com/

39