Práctica 5 - continuación de bivaridao

AE
11/03/19

Base de datos IMCO

Llamamos la librería

library(readxl)
## Warning: package 'readxl' was built under R version 3.5.2

¡Recuerda poner el directorio!

setwd("/Users/anaescoto/Dropbox/SFP")

Luego aplicamos el comando. Es de la siguiente forma. Nota que en el el paréntesis va el directorio donde tenemos nuestro archivo. (La base se puede descargar desde "https://www.dropbox.com/s/6ytu6o967zvjjli/Excel_2016_IMCO.xlsx?dl=0")

Excel_2016_IMCO <- read_excel("Excel_2016_IMCO.xlsx")
## New names:
## * `` -> `..101`
## * `` -> `..102`
## * `` -> `..103`
#View(Excel_2016_IMCO)

Bivariado

Vamos a hacer un par de gráficos de dos variables. Vamos a graficar los datos de los secuestros y pobreza. Este gráfico se conoce como un scatterplot.

Checa: en este comando, como usamos la opción de "data", no tenemos que poner el nombre del data frame antes de la variable.

El formato es el siguiente:

qplot(VariableX, VariableY, data = NombreDataframe)

En nuestro ejemplo queda así:

library(ggplot2) # No te olvides de llamar la librería
qplot(Pobreza, Homicidios, data = Excel_2016_IMCO)

Aunque si te gustan mucho mucho el formato con "$". Esto es equivalente

qplot(Excel_2016_IMCO$Pobreza, Excel_2016_IMCO$Homicidios)

Una transformación importante en los análisis cuantitativos es la transformación logarítmica

qplot(log(Pobreza), log(Homicidios), data = Excel_2016_IMCO)

## Guardando nuestro gráfico como un objeto

grafico<-qplot(log(Pobreza), log(Homicidios), data = Excel_2016_IMCO)

Comandos especiales

Vamos hoy a establecer las regiones para evidenciar subgrupos en nuestros estados.

  1. Noroeste: Baja California, Baja California Sur Chihuahua, Durango, Sinaloa y Sonora;
  2. Noreste: Coahuila, Nuevo León, Tamaulipas;
  3. Occidente: Colima, Jalisco, Michoacán y Nayarit;
  4. Oriente: Hidalgo, Puebla; Tlaxcala y Veracruz;
  5. Centro norte: Aguascalientes, Guanajuato. Querétaro, San Luis Potosí y Zacatecas;
  6. Centro sur: Ciudad de México, México y Morelos;
  7. Suroeste Campeche, Quintana Roo, Tabasco y Yucatán Roo; y
  8. Suroeste: Chiapas, Guerrero y Oaxaca
Excel_2016_IMCO$region<-NA

Vamos a hacer vectores de cada región

noroeste<-c("Baja California","Baja California Sur", "Chihuahua", "Durango","Sinaloa", "Sonora")
noreste<- c("Coahuila", "Nuevo León", "Tamaulipas")
occidente <-c("Colima", "Jalisco", "Michoacán", "Nayarit") 
oriente <- c("Hidalgo", "Puebla","Tlaxcala", "Veracruz")
centronorte<-c("Aguascalientes", "Guanajuato", "Querétaro", "San Luis Potosí", "Zacatecas")
centrosur<- c("Ciudad de México", "México",  "Morelos")
suroeste <-c("Campeche", "Quintana Roo", "Tabasco","Yucatán")
sureste <- c("Chiapas", "Guerrero", "Oaxaca")

OJO, estos vectores son objetos independientes de nuestra base de datos aún Mi primer loop

R puede hacer loop con el comando for Nos permite repetir una operación de acuerdo a los valores de una secuencia o de un vector. Aquí lo hacemos para el vector noroeste

for(i in noroeste) {
  reg<-i
  Excel_2016_IMCO$region[Excel_2016_IMCO$edo==reg] <- "Noroeste"
}

Lo hacemos para el resto de regiones

for(i in noreste) {
  reg<-i
  Excel_2016_IMCO$region[Excel_2016_IMCO$edo==reg] <- "Noreste"
}

for(i in occidente) {
  reg<-i
  Excel_2016_IMCO$region[Excel_2016_IMCO$edo==reg] <- "Occidente"
}

for(i in oriente) {
  reg<-i
  Excel_2016_IMCO$region[Excel_2016_IMCO$edo==reg] <- "Oriente"
}
for(i in centrosur) {
  reg<-i
  Excel_2016_IMCO$region[Excel_2016_IMCO$edo==reg] <- "Centro Sur"
}

for(i in centronorte) {
  reg<-i
  Excel_2016_IMCO$region[Excel_2016_IMCO$edo==reg] <- "Centro Norte"
}

for(i in suroeste) {
  reg<-i
  Excel_2016_IMCO$region[Excel_2016_IMCO$edo==reg] <- "Sur oeste"
}

for(i in sureste) {
  reg<-i
  Excel_2016_IMCO$region[Excel_2016_IMCO$edo==reg] <- "Sur Este"
}

Con subgrupos podemos agregar otra variable en nuestro gráficos

q1<-qplot(log(Pobreza), log(Homicidios), data = Excel_2016_IMCO, shape = region)
q1
## Warning: The shape palette can deal with a maximum of 6 discrete values
## because more than 6 becomes difficult to discriminate; you have 8.
## Consider specifying shapes manually if you must have them.

## Warning: Removed 7 rows containing missing values (geom_point).

q2<-qplot(log(Pobreza), log(Homicidios), data = Excel_2016_IMCO, colour = region)
q2

Con una regresión lineal

q3<-qplot(Pobreza, Homicidios, data = Excel_2016_IMCO, geom = c("point", "smooth"), method = "lm")
## Warning: Ignoring unknown parameters: method
q3

Para tener un subgráfico por región. A veces vale la pena hacer un objeto ggplot y luego modificarlo. En general podemos "sumar" nuevas opciones

q4<-qplot(Pobreza, Homicidios, data = Excel_2016_IMCO) 

Regiones por columnas

q4 + facet_grid(. ~ region)

Regiones por filas

q4 + facet_grid(region ~ . )

Recuadros por regiones

q4 + facet_wrap("region")

q4 + facet_wrap(~region)

Etiquetas

q5<-qplot(Pobreza, Homicidios, data = Excel_2016_IMCO, label=Excel_2016_IMCO$edo, geom="text")
q5

Combinando

q6<-qplot(Pobreza, Homicidios, data = Excel_2016_IMCO, label=Excel_2016_IMCO$edo, geom=c("text", "smooth"), method=lm)
## Warning: Ignoring unknown parameters: method
q6