P1

Instalar y cargar paquetes que usaremos en el laboratorio

install.packages("ggplot2",dependencies = T)
install.packages("data.table")
install.packages("utf8")

utf8 sirve para que R entienda el lengiaje con ñ, ttíldes, etc eval=False sirve para que el chunk no corra al momento de crear el archivo html

library(ggplot2)
library(data.table)
library(utf8)

P2

Abrir base de datos

EOD<-fread(file = "EOD_Trabajada.csv",encoding = "UTF-8")

encoding= “UTF-8”, así r utilizará el paquete para la lectura del leguaje en español

P3

Considerar que las personas se encuentran repetidas en la base. Por lo tanto, si queremos realizar análisis de gráficos con las personas, debemos eliminar los duplicados.

EOD[,dup:=paste0(Hogar,Persona)]
personas<-EOD[!duplicated(dup)]

:= generar variable paste0 pega sin espacio ! -> elimina los true del duplicated

ggplot2

Comando para ejecutar la función ggplot

ggplot()

Crear el sistema de coordenadas

ggplot(data=personas,aes(x=Edad))

Histograma

Asociamos el objeto geométrico

ggplot(data=personas,aes(x=Edad))+ 
  geom_histogram()

Utilizamos un bindwidth más pequeño

ggplot(data=personas,aes(x=Edad))+ 
  geom_histogram(bins = 50)

bins sirve para ver cuantas observaciones hay entre cada intervalo

Recordemos que es una encuesta

ggplot(data=personas,aes(x=Edad,weights=Factor))+ 
  geom_histogram(bins = 50)

factor: entender a cuanta gente representa el encuestado

Scatter plot

Graficamos la relacion entre tiempo de viaje a ingreso

ggplot(data=EOD,aes(x=TiempoViaje,y=IngresoFinal))+ 
  geom_point()

Agregamos los pesos

ggplot(data=EOD,aes(x=TiempoViaje,y=IngresoFinal,weights=Factor))+ 
  geom_point()

Jitter agrega un poco de ruido a los puntos, para así captar aquella masa que se esconde detrás de otros puntos

ggplot(data=EOD,aes(x=TiempoViaje,y=IngresoFinal,weights=Factor))+ 
   geom_jitter()

Podemos controlar el tamaño de los puntos y limitar el tiempo de viaje

ggplot(data=EOD[TiempoViaje<200],aes(x=TiempoViaje,y=IngresoFinal,weights=Factor))+ 
  geom_jitter(size=1.5)

si ponmes & luego de [TiempoViaje<200], podemos limitar otras variables

Podemos diferenciar por actividad

ggplot(data=EOD[TiempoViaje<200],aes(x=TiempoViaje,y=IngresoFinal,weights=Factor,colour=Actividad.y))+ 
  geom_jitter(size=1.5)

se pone adctividad.y al momento ponerle nombre a las actividades (no entendi tanto pero se pone asi)

Podemos ver la distribución del tiempo de viaje por actividad

ggplot(data=EOD[TiempoViaje<200],aes(x=TiempoViaje,weights=Factor))+ 
  geom_histogram()+ facet_wrap(facets = "Actividad.y")

facet_wrap separa los graficos por actividad.y

Volviendo al scatter plot. Agregar etiquetas a los ejes, títulos y subtítulos al gráfico

ggplot(data=EOD[TiempoViaje<200],aes(x=TiempoViaje,y=IngresoFinal,weights=Factor,colour=Actividad.y))+ 
  geom_jitter(size=1.5)+
  labs(x="Tiempo de Viaje en Minutos",y="Ingreso Total en Pesos",title = "El Plot del Valla",subtitle = "El duck me ayudó",caption = "Source: Datos de Encuesta origen y destino Gran Valparaíso 2014, SECTRA - Gobierno de Chile")

Cambiar el título de la leyenda

ggplot(data=EOD[TiempoViaje<200],aes(x=TiempoViaje,y=IngresoFinal,weights=Factor,colour=Actividad.y))+ 
  geom_jitter(size=1.5)+
  labs(x="Tiempo de Viaje en Minutos",y="Ingreso Total en Pesos",title = "Mi primer plot aceptable",subtitle = "Probando subtitulos",caption = "Source: Datos de Encuesta origen y destino Gran Valparaíso 2014, SECTRA - Gobierno de Chile")+
  scale_color_discrete(name="Actividad")

Gráfico de barras

Algo sencillo

ggplot(data=personas,aes(x=ComunaR,weights=Factor))+
  geom_bar()

El comando position cambia la posición en el gráfico de las barras por la variable dentro del fill, en este caso la actividad

ggplot(data=personas,aes(x=ComunaR,weights=Factor,fill=Actividad.y))+
  geom_bar()

Fill sirve para que cada barra muestre otra variable en cada barra

ggplot(data=personas,aes(x=ComunaR,weights=Factor,fill=Actividad.y))+
  geom_bar(position ="stack")

ggplot(data=personas,aes(x=ComunaR,weights=Factor,fill=Actividad.y))+
  geom_bar(position="dodge")

ggplot(data=personas,aes(x=ComunaR,weights=Factor,fill=Actividad.y))+
  geom_bar(position="fill")

Fill pone porcentajes entre el 0 y 1

Queremos ver en ungráfico de barras el ingreso promedio de las personas por comuna. Considerando los factores de expansión.

ingprom<-personas[,weighted.mean(x=IngresoFinal,w=Factor, na.rm = T),by=ComunaR]

weighthted.mean: permite calcular los ingresos finales (promedio) de acuerdo a los factores de expancion, luego remueve los na, y todo esto por comuna

ggplot(data=ingprom, aes(x=ComunaR, y=V1)) + geom_bar(stat = "identity")

Agregar detalles estéticos

ggplot(data=ingprom, aes(x=ComunaR, y=V1)) + geom_bar(stat = "identity") + labs(x="Comuna",y="",title = "Ingreso promedio de las personas",subtitle = "Por Comuna de Residencia",caption = "Source: Datos de Encuesta origen y destino Gran Valparaíso 2014, SECTRA - Gobierno de Chile")+  scale_y_continuous(labels=function(n){format(n, scientific = FALSE)})

Gráfico Box-plot

Algo sencillo

ggplot(data=EOD,aes(x=ComunaR,y=TiempoViaje))+
  geom_boxplot()

Recuerde que limitamos el tiempo de viajes a menos de 200 minutos

ggplot(data=EOD[TiempoViaje<200],aes(x=ComunaR,y=TiempoViaje))+
  geom_boxplot()

Podemos darle colores a cada categoría y Leyenda

ggplot(data=EOD[TiempoViaje<200],aes(x=ComunaR,y=TiempoViaje,fill=ComunaR))+
  geom_boxplot()

Agregar etiquetas a los ejes, títulos y subtítulos al gráfico

ggplot(data=EOD[TiempoViaje<200],aes(x=ComunaR,y=TiempoViaje,fill=ComunaR))+
  geom_boxplot() + labs(x="",y="Minutos de Viaje",title = "Distribución de Tiempo de Viaje EOD",subtitle = "Por Comuna de Residencia",caption = "Source: Datos de Encuesta origen y destino Gran Valparaíso 2014, SECTRA - Gobierno de Chile")+
  scale_fill_discrete(name="Comuna")

Podemos modificar cada elemento de los ejes del gráfico

ggplot(data=EOD[TiempoViaje<200],aes(x=ComunaR,y=TiempoViaje,fill=ComunaR))+
  geom_boxplot() + labs(x="",y="Minutos de Viaje",title = "Distribución de Tiempo de Viaje EOD",subtitle = "Por Comuna de Residencia",caption = "Source: Datos de Encuesta origen y destino Gran Valparaíso 2014, SECTRA - Gobierno de Chile")+
  scale_fill_discrete(name="Comuna") + 
  theme(
    plot.title = element_text(size=25, face="bold"),
    axis.title.y = element_text(size=15),
    axis.text.y = element_text(size=10,angle = 90),
    axis.title.x = element_text(size=20),
    axis.text.x = element_blank(),
    legend.title = element_text(size=20),
    legend.text = element_text(size=16))