P1

Instalar y cargar paquetes

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

P2

Abrir base de datos de egresos

EOD <- fread(file= "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(EOD[,c(6,7)]),]

P4

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

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

P5

  1. 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(data=personas, aes(x=TiempoViaje, y=IngresoFinal, weights=Factor) ) + geom_point()

  1. Limitar el tiempo de viaje a 200 minutos.
ggplot(data=personas[personas$TiempoViaje<200], aes(x=TiempoViaje, y=IngresoFinal, weights=Factor) ) + geom_point()

  1. Agregar etiquetas a los ejes, títulos y subtítulos al gráfico
ggplot(data=personas[personas$TiempoViaje<200], aes(x=TiempoViaje, y=IngresoFinal, weights=Factor) ) + geom_point() + labs(title= "Gráfico", subtitle="Scatterplot Ingreso/Tiempo", x= "Tiempo de Viaje", y="Ingreso Final") + scale_y_continuous(labels=function(n){format(n,scientific=FALSE)})

P6

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

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

P7

  1. Muestre la cantidad de personas que hay en cada comuna. Considere los factores de expansión.
ggplot(data=personas, aes(x=ComunaR, weights=Factor)) + geom_bar() + scale_y_continuous(labels=function(n){format(n,scientific=FALSE)})

  1. Muestre, 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(data=personas, aes(x=ComunaR, weights=Factor, fill=Actividad.y)) + geom_bar(position="dodge") + scale_y_continuous(labels=function(n){format(n,scientific=FALSE)})

P8

  1. Calcule el ingreso promedio de las personas por comuna. Considere los factores de expansión.
ingprom <- personas[,weighted.mean(x=IngresoFinal, weights=Factor,na.rm=T),by=ComunaR]
  1. Muestre su resultado anterior en un gráfico de barras.
ggplot(data=ingprom, aes(x=ComunaR, y=V1)) + geom_bar(stat="identity") + scale_y_continuous(labels=function(n){format(n,scientific=FALSE)})

  1. Agregar detalles estéticos
ggplot(data=ingprom, aes(x=ComunaR, y=V1)) + geom_bar(stat="identity") + scale_y_continuous(labels=function(n){format(n,scientific=FALSE)}) + labs(title= "Ingreso Promedio por Comuna", subtitle = "Por Comuna de Residencia", caption= "Fuente xx") 

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(data=personas[personas$TiempoViaje<200], aes(x=ComunaR, y=TiempoViaje, fill=ComunaR)) + geom_boxplot() + labs(title= "Tiempo de Viaje por Comuna", subtitle="Por Comuna de Residencia", caption= "Fuente xx", x= "Comuna", y ="Tiempo de Viaje") + scale_fill_discrete(name= "Comuna")

Visualización Espacial de Mapas

  1. Primero debemos cargar la base de datos de los egresos hospitalarios de los establecimientos de salud de la V región
Egresos <- fread(file="egresos_V.csv")
  1. Modifique las variables lat y lng para que sean variables numéricas.
Egresos$lat <- as.numeric(Egresos$lat)
## Warning: NAs introduced by coercion
Egresos$lng <- as.numeric(Egresos$lng)
## Warning: NAs introduced by coercion
  1. Realice un mapa con la ubicación de los establecimientos de salud. No 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

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

Egresos[,dias_prom:=round(mean(DIAS_ESTAD),2), by="ESTAB"]
  1. Agregue la siguiente información a los Markers del mapa: Nombre del establecimiento, tipo de establecimiento y días promedio de estadía.
mytext <- paste("Nombre Establecimiento: ", Egresos[!duplicated(Egresos$lat),] $Nombre,"<br/>", "Tipo de Establecimiento: ", Egresos[!duplicated(Egresos$lat),]$TipoEstablecimiento, "<br/>", "Días Promedio de Estadía: ", Egresos[!duplicated(Egresos$lat),]$dias_prom, 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