maestría en economía taller: introducción al lenguaje r sesión 7: otros objetos en r profesor:...
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/8.jpg)
¿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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/13.jpg)
¿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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062618/54dea3ae4a795960298b4ac7/html5/thumbnails/32.jpg)
¿preguntas?
http://nbecerrauamx.wordpress.com/
32