Troncoso,Campos, Cabezas, Vergara y Bugueño

P1

Cargue los paquetes y las bases necesarias para poder trabajar con la base de datos de personas, hogares y viajes de la Encuesta Origen y Destino en formato data.table y para poder realizar las vizualizaciones con ggplot. importante: la base de personas solo considera a la gente que trabaja. Por lo tanto, la actividad analiza solo personas que tienen trabajo.

install.packages("ggplot2")
install.packages("data.table")
install.packages("utf8")
install.packages("leaflet")
library("ggplot2")
library("data.table")
library("utf8")
library("leaflet")
Hogares<-fread("Base_Hogares.csv",encoding="Latin-1")
Personas<-fread("Base_Personas.csv")
Viajes<-fread("Base_Viajes.csv")

P2

Realice un gráfico (legible) que permita ver el ingreso promedio de los hogares por macrozona. Considere que las personas se encuentran repetidos en la base de datos.

Pista: para quitar la notación científica utilice: scale_y_continuous(labels=function(n){format(n, scientific = FALSE)}).

Ingpromedio<-Hogares[,mean(IngresoHogar),by="Macrozona"]


ggplot(Ingpromedio,aes(x=Macrozona, weights=V1))+geom_bar() +labs(x="Macrozona",y="Ingreso Promedio", title = "Ingreso Promedio por Macrozona",caption = "Fuente: Encuesta")

P3

Realice un histograma con ggplot que muestre la distribución del ingreso de los hogares para las comunas del Gran Valparaíso. Es decir, un histograma para cada comuna, pero en un mismo gráfico. Considere los factores de expansión de las personas. Además, limite el ingreso a menos de 2000000.

ggplot(data=Hogares[IngresoHogar<2000000],aes(x=IngresoHogar,weight=Factor))+ geom_histogram() + facet_wrap(facets="Comuna") + scale_y_continuous(labels = function(n){format(n,scientific = FALSE)})

P4

  1. Para poder tener un mejor análisis de mercado, es necesario analizar las características del hogar y de las personas que lo componen. Para esto, cree un objeto “EOD” que sea un merge entre la base de hogares y personas, dado el identificador de hogares.
EOD<-merge(x=Hogares, y=Personas, by="Hogar")
  1. Reemplaza el objeto “EOD” con un merge entre la base EOD y viajes, dados los identificadores de hogares y de personas. De esta forma, tendrá información más detallada de las familias, las personas y los flujos de viajes. Pista: el argumento by puede contener dos variables, pero deben incluirse en un vector, de la forma …,by=c(“variable1”,“variable2”).
 EOD<-merge(x=EOD, y=Viajes, by=c("Hogar", "Persona"))
  1. Además cree una variable que sea un identificador de hogares y personas para poder eliminar los duplicados (utilice paste0 para crear esta variable).
EOD[,dup:=paste0(Hogar,Persona)]
EOD[!duplicated(dup)]
##                Hogar Persona Macrozona Zona Comuna Manzana DirCoordX DirCoordY
##     1: 4.467885e-319       1         1    9      2   90431  253073.7   6341154
##     2: 4.467885e-319       2         1    9      2   90431  253073.7   6341154
##     3: 4.467885e-319       3         1    9      2   90431  253073.7   6341154
##     4: 5.004717e-318       1        13  101      3 1012966  266270.6   6342393
##     5: 5.004717e-318       2        13  101      3 1012966  266270.6   6342393
##    ---                                                                        
## 21846: 1.068086e-313       3        21  216      5 2161831  274441.3   6339604
## 21847: 1.163547e-313       1        26  235      6 2350461  278998.6   6341682
## 21848: 1.163547e-313       2        26  235      6 2350461  278998.6   6341682
## 21849: 2.481938e-313       1         6   50      2  502349  259774.5   6332118
## 21850: 2.481938e-313       2         6   50      2  502349  259774.5   6332118
##             Fecha DiaAsig TipoDia NumPer NumVeh Propiedad NoSabeNoResponde
##     1: 2014-11-25       2       1      3      0         1                1
##     2: 2014-11-25       2       1      3      0         1                1
##     3: 2014-11-25       2       1      3      0         1                1
##     4: 2015-05-08       5       1      3      1         1                0
##     5: 2015-05-08       5       1      3      1         1                0
##    ---                                                                    
## 21846: 2014-10-28       2       1      3      0         3                0
## 21847: 2014-09-30       2       1      2      1         1                0
## 21848: 2014-09-30       2       1      2      1         1                0
## 21849: 2015-05-13       3       1      2      1         1                0
## 21850: 2015-05-13       3       1      2      1         1                0
##        MontoDiv MontoArrEstima MontoArrPaga IngresoHogar Factor_Laboral
##     1:       NA             NA           NA       241483       49.61113
##     2:       NA             NA           NA       241483       49.61113
##     3:       NA             NA           NA       241483       49.61113
##     4:       NA         280000           NA      1156372       47.45112
##     5:       NA         280000           NA      1156372       47.45112
##    ---                                                                 
## 21846:       NA             NA        80000       626361       34.22977
## 21847:       NA         200000           NA      1000248       35.39052
## 21848:       NA         200000           NA      1000248       35.39052
## 21849:       NA         300000           NA      1191615       45.21407
## 21850:       NA         300000           NA      1191615       45.21407
##        Factor_Sabado Factor_Domingo Factor.x aux      comunahg
##     1:            NA             NA 40.82472   1    Valparaíso
##     2:            NA             NA 40.82472   1    Valparaíso
##     3:            NA             NA 40.82472   1    Valparaíso
##     4:            NA             NA 39.15974   1  Viña del Mar
##     5:            NA             NA 39.15974   1  Viña del Mar
##    ---                                                        
## 21846:            NA             NA 30.05988   1       Quilpue
## 21847:            NA             NA 27.56420   1 Villa Alemana
## 21848:            NA             NA 27.56420   1 Villa Alemana
## 21849:            NA             NA 39.39303   1    Valparaíso
## 21850:            NA             NA 39.39303   1    Valparaíso
##                 Macrozonahg Factorhg AnoNac LicenciaConducir IngresoFinal
##     1:          Playa Ancha 40.82472   1963                1       241483
##     2:          Playa Ancha 40.82472   1964                2            0
##     3:          Playa Ancha 40.82472   1994                1            0
##     4: Viña del Mar Oriente 39.15974   1958                1       449190
##     5: Viña del Mar Oriente 39.15974   1953                2       251423
##    ---                                                                   
## 21846:           El Belloto 30.05988   2009                2            0
## 21847:  Villa Alemana Norte 27.56420   1985                1       416449
## 21848:  Villa Alemana Norte 27.56420   1989                1       583800
## 21849:     Placilla-Curauma 39.39303   1940                1       280770
## 21850:     Placilla-Curauma 39.39303   1973                1       910845
##        Factor.y     MacrozonaOrigen1    MacrozonaDestino1    Proposito1
##     1: 42.35732     Placilla-Curauma          Playa Ancha Volver a casa
##     2: 38.48943          Playa Ancha Vina del Mar Oriente Ver a alguien
##     3: 44.08262          Playa Ancha           Miraflores    Al Estudio
##     4: 31.63111 Vina del Mar Oriente          Marga-Marga      De Salud
##     5: 33.35827 Vina del Mar Oriente          Marga-Marga    Recreacion
##    ---                                                                 
## 21846: 41.72627           El Belloto           El Belloto    Al Estudio
## 21847: 38.74773  Villa Alemana Norte          Playa Ancha    Al Trabajo
## 21848: 43.73622  Villa Alemana Norte     Quilpue Poniente    Al Trabajo
## 21849: 24.85713     Placilla-Curauma     Placilla-Curauma    Recreacion
## 21850: 37.13964     Placilla-Curauma               Recreo    Al Trabajo
##                           dup
##     1: 4.46788504190698e-3191
##     2: 4.46788504190698e-3192
##     3: 4.46788504190698e-3193
##     4: 5.00471701005224e-3181
##     5: 5.00471701005224e-3182
##    ---                       
## 21846: 1.06808647372994e-3133
## 21847: 1.16354741689772e-3131
## 21848: 1.16354741689772e-3132
## 21849: 2.48193832243198e-3131
## 21850: 2.48193832243198e-3132

P5

Un cliente cautivo es un consumidor que por condiciones externa, se le hace difícil sustituir un producto o servicio, ya que esto implica un costo para él, ya sea monetario o de esfuerzo.Dado este contexto, consumidores cautivos podrían ser aquellas personas que no poseen licencia de conducir, porque para ellos es más costoso en términos de tiempo, dinero y esfuerzo movilizarse entre macrozonas para comer otras hamburgesas que las que se encuentran cerca suyo. Es por esto que queremos identificar cuántas personas sin licencia existen en cada macrozona(Macrozonahg). Para ello, realice un gráfico de barras e identifique a los consumidores cautivos que no tienen licencia, por macrozona.

Pista: Utilice la variable LicenciaConducir: 1=No tiene licencia 2=Tiene licencia Recuerde que debe eliminar los duplicados de personas.

ggplot(data=EOD[LicenciaConducir==1], aes(x=Macrozona, y=LicenciaConducir, weight=Factor.x)) + geom_bar(stat = "identity")+theme(axis.text.x = element_text(angle=90, vjust=0.6))

P6

Cree una variable Rango, que tome como valor los distintos rangos de edades de las personas. “Rango1: 18-25” “Rango2: 26-35” “Rango3: 36-55” “Rango4: +56”

EOD[,edad:=2015-AnoNac]
EOD[edad>=18 & edad<=25 ,Rango:="Rango1"]
EOD[edad>=26 & edad<=35 ,Rango:="Rango2"]
EOD[edad>=56 ,Rango:="Rango4"]

P7

Muestre en un gráfico de barras la cantidad de personas que hay en cada macrozona según el rango de edades que definió en la pregunta anterior.

ggplot(EOD, aes(x=Macrozonahg,y=Persona)) + geom_bar(stat = "identity") +facet_wrap(facets ="Rango") + theme(axis.text.x = element_text(angle=90, vjust=0.6))

P8

Cargue la base de datos de locales hamburguesas para analizar donde se encuentra la competencia.

Rest<-fread("restaurantes.csv")

P9

Cree un scatter-plot con ggplot que muestre la relación entre el número de comentarios (reviews) (eje x) y el rating (eje y).

plot(x=Rest[,rating],y=Rest[,reviews],type = "p")

P10

Ahora queremos analizar el nivel de competencia que existe por macrozona. Para realizar esto, debe crear un identificador de competencia para cada macrozona. El indicador esta definido como Icompetencia=(reviews∗rating)1000¯ para cada macrozona.

Pista: considere que el indicador debe ser el promedio para cada macrozona y que debe remover los NA en caso de que existan.

Icomp<-Rest[,mean(reviews*rating, na.rm=T)/1000,by=MacrozonaOrigen1]

P11

Ubique en un mapa los diferentes locales de hamburguesas.

leaflet(Rest[!duplicated(Rest$lat)]) %>%
  addTiles() %>%
  setView(lng = -71.5, lat = -33, zoom = 11)%>%
  addMarkers()

P12

Dado el indicador de competencias creado anteriormente y todo el análisis socioeconómico de las macrozonas ¿En qué comuna ubicaría el nuevo local de hamburguesas? Apoyese con una visualización de datos espaciales. Utilice el shp provisto para estos fines en la carpeta GV y sea cuidadoso con el encoding

Lo hariamos en el plan de Viña, ya que es donde el Indicador de Reviews y Raiting es mas alto.