library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.0 --
## v ggplot2 3.3.3 v purrr 0.3.4
## v tibble 3.1.0 v dplyr 1.0.5
## v tidyr 1.1.3 v stringr 1.4.0
## v readr 1.4.0 v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(sf)
## Linking to GEOS 3.9.0, GDAL 3.2.1, PROJ 7.2.1
Este es un proyecto rapido de ejemplo de uso de R-Markdown utilizando datos publicos oficiales del sistema nacional obtenidos del portal de datos del GCABA al 12 de mayo de 2021.
#Cargo los datos del 12/05/2021.
casos_covid19 <- read_csv("casos_covid19.csv",col_types = cols(numero_de_caso = col_skip(), fecha_apertura_snvs = col_skip(), fecha_toma_muestra = col_skip(),fecha_clasificacion = col_skip(), genero = col_skip(), fecha_fallecimiento = col_skip(), fallecido = col_skip(), fecha_alta = col_skip(), tipo_contagio = col_skip()), na = "NA")
#Filtro usando dplyr::filter:
CoCABA=filter(casos_covid19, provincia == "CABA")
El dataset original continen los datos de todo el pais. Filtramos los datos que corresponden a CABA y generamos el dataset CoCABA.
En cada fila corresponde a un paciente confirmado de COVID y tiene asociado el barrio donde vive.
Contamos la cantidad de veces que aparece cada barrio en el dataset, y eliminamos aquellas filas que no tienen un barrio asociado. Llamamos datos al nuevo dataset.
grupos <- group_by(CoCABA, barrio)
grupos2=summarise(grupos,casos = n())
datos=grupos2[-c(1),] #elimino fila 1 que no tiene nombre.
A partir de estos datos podemos determinar que barrio tiene la mayor cantidad de casos acumulados. Un grafico de barras ordenado es una manera interesante de representarlo.
#Graficamos
ggplot(data=datos, aes(x=reorder(barrio, -casos), y=casos))+
geom_col() +
coord_flip()+
labs(title = "Cantidad de casos de COVID acumulados",
subtitle = "por barrio en CABA",
caption = "Industria 4.0 (UNaB - 2021)")+
xlab("Barrio")
Y agregamos los valores del dataset datos el mapa y los datos de cantidad de poblacion segun el censo de 2010.
#Shapes de los Barrios de CABA
barrios <- st_read('https://bitsandbricks.github.io/data/CABA_barrios.geojson')
## Reading layer `CABA_barrios' from data source `https://bitsandbricks.github.io/data/CABA_barrios.geojson' using driver `GeoJSON'
## Simple feature collection with 48 features and 4 fields
## Geometry type: POLYGON
## Dimension: XY
## Bounding box: xmin: -58.53152 ymin: -34.70529 xmax: -58.33514 ymax: -34.52754
## Geodetic CRS: WGS 84
head(barrios)
## Simple feature collection with 6 features and 4 fields
## Geometry type: POLYGON
## Dimension: XY
## Bounding box: xmin: -58.50617 ymin: -34.63064 xmax: -58.41192 ymax: -34.57829
## Geodetic CRS: WGS 84
## BARRIO COMUNA PERIMETRO AREA geometry
## 1 CHACARITA 15 7725.695 3118101 POLYGON ((-58.45282 -34.595...
## 2 PATERNAL 15 7087.513 2229829 POLYGON ((-58.46558 -34.596...
## 3 VILLA CRESPO 15 8132.699 3613584 POLYGON ((-58.42375 -34.597...
## 4 VILLA DEL PARQUE 11 7705.390 3399596 POLYGON ((-58.49461 -34.614...
## 5 ALMAGRO 5 8537.901 4050752 POLYGON ((-58.41287 -34.614...
## 6 CABALLITO 6 10990.964 6851029 POLYGON ((-58.43061 -34.607...
#Censo Nacional 2010: Poblacion x comuna
poblacion <- read.csv("https://raw.githubusercontent.com/esalvatierra/DGBCABA20/master/caba_pob_barrios_2010.csv")
#Agregamos los datos a las comunas
#datos <- left_join(datos, poblacion)#
#No funciona
datos=rename(datos, BARRIO= barrio)
#Agregamos los datos a las comunas
datos <- left_join(datos, poblacion) #ahora si funciion BARRIO==BARRIO
## Joining, by = "BARRIO"
#
#agregamos datos a los barrios
barrios <- left_join(barrios, datos)
## Joining, by = "BARRIO"
Una vez que juntamos todos los datos en el dataset barrio, graficamos la cantidad de casos totales por barrio en un mapa de calor.
#Casos absolutos
ggplot(barrios) +
geom_sf(aes(fill = casos)) +
scale_fill_distiller(palette = "Spectral")+
labs(title = "Cantidad de casos de COVID acumulados",
subtitle = "por barrio en CABA",
caption = "Industria 4.0 (UNaB - 2021)")
Vemos que Palermo es el barrio con mayor cantidad de casos desde le comienzo del registro.
Analizando la cantidad de casos en relacion al numero de habitantes segun el censo 2010 obtenemos el siguiente mapa.
#Densidad de casos
ggplot(barrios) +
geom_sf(aes(fill = casos / POBLACION)) +
scale_fill_distiller(palette = "Spectral")+
labs(title = "Casos de COVID por habitante",
subtitle = "por barrio en CABA",
caption = "Industria 4.0 (UNaB - 2021)")
De esta manera podemos ver que Puerto Madero es el barrio con mayor proporcion de casos por habitante.
Observacion: Este proyecto carece de tildes y caracteres especiales por cuestiones de codificacion.