maestría en economía taller: introducción al lenguaje r sesión 7: otros objetos en r profesor:...

32
Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Upload: anunciacion-saez

Post on 13-Feb-2015

5 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Maestría en EconomíaTaller: Introducción al lenguaje R

Sesión 7: Otros objetos en R

Profesor:

Noé Becerra Rodríguez

26 de septiembre 2013

Page 2: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Sesión 7

• Repaso sesión 6

• Otros objetos en R

• Manipulación de objetos

• Operadores lógicos

• Gráficos básicos en R

2

Page 3: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Sesión 7

• Contenido

• Repaso sesión 6

• Otros objetos en R

• Manipulación de objetos

• Operadores lógicos

• Gráficos básicos en R3

Page 4: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Repaso sesión 6

Como construir matrices en R

Funciones para manipulación de matrices ( $, [ ] )

Operaciones con matrices (det, solve, t, eigen)

4

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

Tarea

5

Page 6: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Tarea -2 2 1

2 1 2

2 -2 -4

1 3 2

-4 -1 2

-1 1 1

6

matriz_A = matrix(c(-2,2,1,2,1,2,2,-2,-4), nrow=3)

det (matriz_A)

solve(matriz_A)

objeto1 = eigen(matriz_A); objeto1

valores = objeto1$val; valores

vectores = objeto1$vec; vectores

matriz_B = matrix(c(1,3,2,-4,-1,2,-1,1,1), nrow=3, byrow=TRUE)

det(matriz_B)

solve(matriz_B)

objeto2 = eigen(matriz_B); objeto2

valores = objeto2$val; valores

vectores = objeto2$vec; vectores

Page 7: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Tarea

x + 2y + 3z = 24

4x + 5y + 6z = 32

7x + 8y + 9z = 41

x + 2y + 3z = 24

4x + 5y + 6z = 32

7x + 8y - 9z = 41

7

x1=scan()

matriz_C=matrix(x1,nrow=3)

det(matriz_C)

solve(matriz_C)

Error in solve.default(matriz_C) : system is computationally

singular: reciprocal condition number = 2.20304e-18

x2=scan()

matriz_D=matrix(x2, nrow=3, byrow=TRUE)

y2=c(24,32,41)

det(matriz_D)

invmatriz_D=solve(matriz_D)

solu1=invmatriz_D%*%y2; solu1

solu2=solve(matriz_D,y2); solu2

Page 8: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

¿preguntas?

8

Page 9: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Contenido

• Repaso sesión

• Otros objetos en R

• Manipulación de objetos

• Operadores lógicos

• Gráficos básicos en R

9

Page 10: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Otros objetos en R - ListasListas

Una lista en R es una colección de objetos que pueden ser de distinta clase. Para vectores y matrices sólo es posible juntar elementos de la misma clase

rm(list=ls())

a = c("a","b","c","d")

b = c(1,2,3,4,4,3,2,1)

c = c(TRUE,TRUE,FALSE)

lista.objetos = list (a,b,c)

class(lista.objetos)

lista.objetos

lapply(lista.objetos, length)

lapply(lista.objetos, class)

lapply(lista.objetos, mean)

10

Page 11: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Otros objetos en R - FactoresFactores

Un factor en R es una variable categórica. Por ejemplo nivel de ingreso: bajo, medio,

alto, muy-alto.

ingreso = c(1,4,2,3,2,3,4,3,2,2,3,1,2,2,2)

fingreso = factor (ingreso, levels=1:4, labels= c("bajo","medio","alto","muy-

alto"))

género = c(2,1,1,2,2,2,1,2,1,1,2,2,1,1,2)

fgénero = factor(género, levels=1:2, labels = c("mujer", "hombre"))

class(fingreso); class(fgénero)

as.numeric(fingreso); as.numeric(fgénero)

levels (fingreso); levels (fgénero)

11

Page 12: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Otros objetos en R - dataframesDataframes

Un objeto dataframe es una base de datos que puede contener elementos de distinta clase. Es una lista de vectores de la misma longitud y en la cual los datos en el mismo renglón provienen de la misma observación

peso = c(60, 72, 57, 90, 95, 72, 65, 76, 61, 92, 98, 77, 66, 75, 59)

altura = c(1.75, 1.80, 1.65, 1.90, 1.74, 1.91, 1.77, 1.83, 1.69, 1.95, 1.78, 1.88,1.73, 1.79, 1.61)

datos = data.frame (peso, altura, fgénero, fingreso)

datos

class(datos)

lapply(datos,summary)

table(fingreso)

table(datos$fingreso)12

Page 13: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

¿preguntas?

13

Page 14: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Tarea factores y dataframes

Generar dos vectores númericos y un factor para construir un dataframe de 10 elementos

Calcule la media y la desviación estándar de las variables del dataframe

Aplique la función summary( ) al dataframe

14

Page 15: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Contenido

• Repaso sesión 2

• Otros objetos en R

• Manipulación de objetos

• Operadores lógicos

• Gráficos básicos en R

15

Page 16: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Manipulación de objetos

[ siempre regresa un objeto de la misma clase que el original y puede

ser usado para extraer más de un elemento

[[ se usa para extraer elementos de una lista o un dataframe.

Únicamente puede ser usado para extraer un solo elemento y la clase

de objeto que regresa no necesariamente será una lista o un dataframe

$ se emplea para extraer elementos de una lista o un dataframe por

nombre del elemento

16

Page 17: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Manipulación de objetosAhora algunos ejemplos con [ y $

una.lista = list(núm=1:6, mediana = 7.4, lógico = TRUE)

una.lista

una.lista[1]

una.lista[2]

núm; ls ( )

una.lista$núm

una.lista$mediana

una.lista$lógico

una.lista[c(1, 3)]

17

Page 18: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Manipulación de objetos

lista2 = list(a = list(10, 12, 14), b = c(3.14, 2.81))

lista2[[c(1, 3)]]

lista2[[c(2, 1)]]

# Quitando los missing values (NAs)

vectorA = c(1:8, NA, 14, NA, 18:21, NA, NA, NA); vectorA

faltantes = is.na(vectorA)

vectorA[ !faltantes ]

18

Page 19: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Manipulación de objetosdata(airquality); names(airquality)

airquality[1:6, ]

completos = complete.cases(airquality)

airquality[completos, ][1:6, ]

¿Cómo se calcula el número de casos completos en la base airquality?

19

Ozone Solar.R Wind Temp Month Day

1 41 190 7.4 67 5 1

2 36 118 8.0 72 5 2

3 12 149 12.6 74 5 3

4 18 313 11.5 62 5 4

7 23 299 8.6 65 5 7

8 19 99 13.8 59 5 8

Ozone Solar.R Wind Temp Month Day

1 41 190 7.4 67 5 1

2 36 118 8.0 72 5 2

3 12 149 12.6 74 5 3

4 18 313 11.5 62 5 4

5 NA NA 14.3 56 5 5

6 28 NA 14.9 66 5 6

Page 20: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Contenido

• Repaso sesión 2

• Otros objetos en R

• Manipulación de objetos

• Operadores lógicos

• Gráficos básicos en R

20

Page 21: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Operadores lógicos

21

números = c(1:10)números

números[números>8 | números<5] números[números>8 & números<5] números[números<8 & números>5]

númerosnúmeros >= 8números <= 5

números[números == 5]números == 5

números[números !=6 ]números != 6

? mostrarlos

Operador Descripción

< menor que

<= menor o igual que

> mayor que

>= mayor o igual que

== exactamente igual que

!= no igual a

x | y x O y

x & y x Y y

isTRUE(x) prueba si x is verdadero (TRUE)

Page 22: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Tarea - operadores lógicos

Con la información que tiene en la base “airquality” obtener lo

siguiente:

a) Determinar los NAs (missing values) en la base y por

variable

b) Encontrar los valores de “Ozone” mayores que 100

c) Hallar medidas de “Temp” menores de 79

e) Encontrar cuantos casos completos se tienen en la base

22

Page 23: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Contenido

• Repaso sesión 2

• Otros objetos en R

• Manipulación de objetos

• Operadores lógicos

• Gráficos básicos en R

23

Page 24: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Gráficos en R - plot( )

Pueden ser usadas para diagramas de dispersión de dos

dimensiones (X, Y)

Toma dos vectores como datos de entrada

x = c(2,4,6,8,10)

y = c(1.5,3,7,8,15)

plot(y ~ x)

plot(x, y) # es equivalente al anterior

24

Page 25: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Argumentos básicos - plot( )

col = “ ”: color del gráfico

pch: tipo de punto (círculo, cuadrado, círculo relleno, etc.)

cex: tamaño de la figura (pch) usada en el gráfico

type = “ ”: tipo de elemento gráfico (puntos, líneas, etc.)

main = “ ”: título del gráfico

sub = “ ”: subtítulo del gráfico

xlab, ylab = “ ”: etiquetas de los ejes X / Y

xlim, ylim = c( mínimo, máximo): rango de los ejes X / Ycol.axis, col.lab, col.main, col.sub: colores para los elementos individuales

del gráfico25

Page 26: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Opciones para pch

26

Page 27: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Algunos colores disponibles en Rcolors( ) # muestra todos los colores disponibles en R

# Colores básicos en R

27

Page 28: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Ejemplo de gráficos - plot( )names(datos)

head(datos)

ls.str(datos)

La base “datos” es la que se construyó en la dispositiva 15 y 16.

plot(peso, altura)

plot(datos$peso, datos$altura)

plot(datos$peso, datos$altura, col="blue", pch=19)

plot(datos$peso, datos$altura, col="blue", pch=19,

type="p", main="Diagrama de dispersión peso vs altura")

28

Page 29: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Ejemplos - plot( )

plot(datos$peso, datos$altura, col=datos$fgénero, pch=19,

type="p", main="Diagrama de dispersión peso vs altura",

sub = "muestra número 1", xlab="peso", ylab="altura")

plot(datos$peso, datos$altura, col=datos$fgénero, pch=19,

type="p", main="Diagrama de dispersión peso vs altura",

sub = "muestra número 1", xlab="peso", ylab="altura", xlim=c(55,100), ylim=c(1.55,2))

29

Page 30: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

30

60 70 80 90 100

1.6

1.8

2.0

Diagrama de dispersión peso vs altura

muestra número 1peso

altu

ra

Page 31: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

Tarea gráficos - plot( )

data(airquality)

help(airquality)

names (airquality)

Construir un gráfico de dispersión sobre dos variables

numéricas de la base airquality aumentando los

argumentos de dos en dos. Use diferentes colores y

formas (pch) de los elementos del gráfico a los usados

en el ejemplo anterior

31

Page 32: Maestría en Economía Taller: Introducción al lenguaje R Sesión 7: Otros objetos en R Profesor: Noé Becerra Rodríguez 26 de septiembre 2013

¿preguntas?

[email protected]

http://nbecerrauamx.wordpress.com/

32