P1 Instalar y cargar paquetes que usaremos en la ayudantía (ggplot2,data.table,utf8,leaflet)

install.packages("ggplot2")
## Installing package into '/home/rstudio-user/R/x86_64-pc-linux-gnu-library/3.6'
## (as 'lib' is unspecified)
install.packages("data.table")
## Installing package into '/home/rstudio-user/R/x86_64-pc-linux-gnu-library/3.6'
## (as 'lib' is unspecified)
install.packages("utf8")
## Installing package into '/home/rstudio-user/R/x86_64-pc-linux-gnu-library/3.6'
## (as 'lib' is unspecified)
install.packages("leaflet")
## Installing package into '/home/rstudio-user/R/x86_64-pc-linux-gnu-library/3.6'
## (as 'lib' is unspecified)
library("ggplot2")
library("data.table")
library("utf8")
library("leaflet")

P2 Abrir base de datos: EOD_Trabajada.csv

EOD<-fread("EOD_Trabajada.csv")

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.

personas<-EOD[!duplicated(id)]

P4 Realice un gráfico que muestre la distribución de edad de las personas. Recuerde la base de datos es una encuesta, por lo tanto, es importante considerar los factores de expansión.

ggplot(personas,aes(x=Edad,weights=Factor))+geom_histogram()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

P5

a) Muestre gráficamente la relación que existe entre el Tiempo de Viaje y el Ingreso Final de una persona. Consiere los factores de expansión.

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

b) Limitar el tiempo de viaje a 200 minutos.

ggplot(personas[TiempoViaje<200],aes(x=TiempoViaje, y=IngresoFinal, weights=Factor))+geom_point()

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

ggplot(personas[TiempoViaje<200],aes(x=TiempoViaje, y=IngresoFinal, weights=Factor))+geom_point()+ labs(x="Ingresos",y="Tiempo de Viaje",title="Cuanto gana el que más viaja?",caption = "Fuente: El rincon del vago")

P6 Muestre la distribución del tiempo de viaje de las personas por actividad. Considere los factores de expansión.

ggplot(personas[TiempoViaje<200],aes(x=TiempoViaje, weights=Factor, fill=Actividad.y))+geom_histogram()+facet_wrap(facets="Actividad.y")+ scale_fill_discrete(labels=NULL, breaks=NULL)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

P7 Muestre la cantidad de personas que hay en cada comuna. Considere los factores de expansión.

personas[,.N,by="ComunaR"]
##          ComunaR    N
## 1:       Quilpué 4183
## 2: Villa Alemana 3267
## 3:    Valparaíso 5960
## 4:  Viña del Mar 7542
## 5:        Concón  892
ggplot(personas,aes(x=ComunaR,weights=Factor))+geom_bar()

Muetre, nuevamente, la cantidad de personas que hay en cada comuna, pero diferenciando según la actividad de la persona. Considere los factores de expansión.

ggplot(personas,aes(x=ComunaR,weights=Factor))+geom_bar()+facet_wrap(facets="Actividad.y")

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

P8 Calcule el ingreso promedio de las personas por comuna. Considere los factores de expansión.

personas[,IngProm:=weighted.mean(x=IngresoFinal,w=Factor),by="ComunaR"]

Muestre su resultado anterior en un gráfico de barras.

ggplot(personas,aes(x=ComunaR,y=IngProm))+geom_bar(stat="identity")

Agregar detalles estéticos

P9 Muestre en un boxplot la distribución del tiempo de viaje por comuna. Limitando el tiempo a 200 minutos, agregando colores a las categorías y etiqueta a los ejes, títulos y subtítulos del gráfico.

ggplot(personas[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(personas[TiempoViaje<200],aes(x=ComunaR,y=TiempoViaje,fill=ComunaR))+geom_boxplot()+labs(x="Comunas de Residencia", y= "Tiempode Viaje",title = "Tiempo de viaje por comunas")

Visualización espacial: Mapas

Primero debemos cargar la base de datos de los egresos hospitalarios de los establecimientos de salud de la V región

rm(list=ls())
egresos<-fread("egresos_V.csv")

Modifique las variables lat y lng para que sean variables numéricas.

### para ver la clase:
class(egresos$lat)
## [1] "character"
##contestando:
egresos$lat<-as.numeric(egresos$lat)
## Warning: NAs introduced by coercion
egresos$lng<-as.numeric(egresos$lng)
## Warning: NAs introduced by coercion

Realice un mapa con la ubicación de los establecimientos de salud. Nos considere las coordenadas que se encuentran duplicadas, ya que esto va a generar un mapa más pesado y difícil de cargar.

leaflet(egresos[!duplicated(egresos$lat)]) %>%
  addTiles() %>%
  setView(lng = -71.5,lat = -33,zoom=11) %>%
  addMarkers()
## Assuming "lng" and "lat" are longitude and latitude, respectively
## Warning in validateCoords(lng, lat, funcName): Data contains 1 rows with either
## missing or invalid lat/lon values and will be ignored

Cree una variable que corresponda a los días promedio de estadía en los establecimientos de salud.

egresos[,Diasprom:=mean(DIAS_ESTAD),by="ESTAB"]

Agregue la siguiente información a los Markers del mapa: Nombre del establecimiento, tipo de establecimiento y días promedios de estadía.

mytext<-paste("Nombre establecimiento:",egresos[!duplicated(egresos$lat),]$Nombre,"<br/>","Tipo de establecimiento:",egresos[!duplicated(egresos$lat),]$TipoEstablecimiento,"<br/>","Dias Promedio de Estadia:",egresos[!duplicated(egresos$lat),]$diasprom,sep="")
leaflet(egresos[!duplicated(egresos$lat)]) %>%
  addTiles() %>%
  setView(lng = -71.5,lat = -33,zoom=11) %>%
  addMarkers(popup = mytext)
## Assuming "lng" and "lat" are longitude and latitude, respectively
## Warning in validateCoords(lng, lat, funcName): Data contains 1 rows with either
## missing or invalid lat/lon values and will be ignored