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

Post on 13-Feb-2015

6 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

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

Repaso sesión 6

Como construir matrices en R

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

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

4

Tarea

5

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

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

¿preguntas?

8

Contenido

• Repaso sesión

• Otros objetos en R

• Manipulación de objetos

• Operadores lógicos

• Gráficos básicos en R

9

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

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

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

¿preguntas?

13

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

Contenido

• Repaso sesión 2

• Otros objetos en R

• Manipulación de objetos

• Operadores lógicos

• Gráficos básicos en R

15

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

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

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

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

Contenido

• Repaso sesión 2

• Otros objetos en R

• Manipulación de objetos

• Operadores lógicos

• Gráficos básicos en R

20

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)

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

Contenido

• Repaso sesión 2

• Otros objetos en R

• Manipulación de objetos

• Operadores lógicos

• Gráficos básicos en R

23

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

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

Opciones para pch

26

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

# Colores básicos en R

27

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

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

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

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

¿preguntas?

berono@hotmail.com

http://nbecerrauamx.wordpress.com/

32

top related