1. Utilizar algún dataset open data de la Ciudad con la que están trabajando que tenga tanto coordenadas como fechas.
Para este trabajo continuaremos utilizando el dataset de casos de COVID-19 de la Ciudad de Buenos Aires, el cual que cuenta con datos temporales, como la fecha en la cual se realizó cada testeo. Como este dataset no tiene coordenadas, en el punto 2 de este trabajo pasaremos a utilizar la base de datos de COVID 147, la cual tiene información sobre los llamados a la línea telefónica de CABA, sobre temas vinculados al COVID.
A continuación cargaremos los packages a utilizar y el dataset mencionado.
#install.packages("tidyverse")
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()
#install.packages("sf")
library(sf)
## Warning: package 'sf' was built under R version 4.0.5
## Linking to GEOS 3.9.0, GDAL 3.2.1, PROJ 7.2.1
#install.packages("ggmap")
library(ggmap)
## Warning: package 'ggmap' was built under R version 4.0.5
## Google's Terms of Service: https://cloud.google.com/maps-platform/terms/.
## Please cite ggmap if you use it! See citation("ggmap") for details.
#install.packages("lubridate")
library(lubridate)
## Warning: package 'lubridate' was built under R version 4.0.5
##
## Attaching package: 'lubridate'
## The following objects are masked from 'package:base':
##
## date, intersect, setdiff, union
casos_covid19 <- read.csv("data/casos_covid19.csv",
encoding = "UTF-8", stringsAsFactors = TRUE)
Filtramos para obtener solamente los registros de CABA:
covid_CABA <- filter(casos_covid19, provincia=="CABA", !is.na(comuna))
Pasamos a analizar el dataset:
names(covid_CABA)
## [1] "X.U.FEFF.numero_de_caso" "fecha_apertura_snvs"
## [3] "fecha_toma_muestra" "fecha_clasificacion"
## [5] "provincia" "barrio"
## [7] "comuna" "genero"
## [9] "edad" "clasificacion"
## [11] "fecha_fallecimiento" "fallecido"
## [13] "fecha_alta" "tipo_contagio"
dim(covid_CABA)
## [1] 1486533 14
Tenemos un total de 1.486.533 casos registrados de COVID-19 en la Ciudad.
2.Análisis Temporal: Realizar al menos 1 gráfico que les permita analizar la temporalidad de los datos. ¿Detectan algún patrón temporal? ¿A qué puede deberse?
Primero, revisamos qué formato tienen las variables fecha y hora, el dato con el que trabajaremos es el de la columna “fecha_toma_muestra”:
str(covid_CABA)
## 'data.frame': 1486533 obs. of 14 variables:
## $ X.U.FEFF.numero_de_caso: int 12823524 12823554 12823611 12823652 12823672 12823684 12823687 12823691 12823747 12823800 ...
## $ fecha_apertura_snvs : Factor w/ 477 levels "01APR2020:00:00:00.000000",..: 313 313 313 313 313 313 313 313 313 313 ...
## $ fecha_toma_muestra : Factor w/ 533 levels "","01APR2020:00:00:00.000000",..: 347 347 347 347 330 347 347 347 330 347 ...
## $ fecha_clasificacion : Factor w/ 527 levels "01APR2020:00:00:00.000000",..: 346 346 346 346 346 346 346 346 329 346 ...
## $ provincia : Factor w/ 24 levels "Buenos Aires",..: 2 2 2 2 2 2 2 2 2 2 ...
## $ barrio : Factor w/ 49 levels "","AGRONOMIA",..: 26 14 29 5 21 37 29 8 16 9 ...
## $ comuna : int 4 7 2 4 13 15 2 5 9 6 ...
## $ genero : Factor w/ 2 levels "femenino","masculino": 1 2 1 1 1 2 2 1 2 2 ...
## $ edad : int 83 48 30 19 22 29 39 24 30 27 ...
## $ clasificacion : Factor w/ 3 levels "confirmado","descartado",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ fecha_fallecimiento : Factor w/ 455 levels "","01APR2020:00:00:00.000000",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ fallecido : Factor w/ 1 level "si": NA NA NA NA NA NA NA NA NA NA ...
## $ fecha_alta : Factor w/ 473 levels "","01APR2020:00:00:00.000000",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ tipo_contagio : Factor w/ 5 levels "Comunitario",..: 1 1 1 1 1 1 1 1 1 1 ...
class(covid_CABA$fecha_toma_muestra)
## [1] "factor"
Vemos que la columna fecha_toma_muestra es de formato factor. La transformamos a formato “fecha y hora” para poder manipularla correctamente y hacer operaciones temporales con ella:
covid_CABA3 <- covid_CABA %>%
mutate(fecha_toma_muestra=dmy_hms(fecha_toma_muestra))
str(covid_CABA3)
## 'data.frame': 1486533 obs. of 14 variables:
## $ X.U.FEFF.numero_de_caso: int 12823524 12823554 12823611 12823652 12823672 12823684 12823687 12823691 12823747 12823800 ...
## $ fecha_apertura_snvs : Factor w/ 477 levels "01APR2020:00:00:00.000000",..: 313 313 313 313 313 313 313 313 313 313 ...
## $ fecha_toma_muestra : POSIXct, format: "2021-05-20" "2021-05-20" ...
## $ fecha_clasificacion : Factor w/ 527 levels "01APR2020:00:00:00.000000",..: 346 346 346 346 346 346 346 346 329 346 ...
## $ provincia : Factor w/ 24 levels "Buenos Aires",..: 2 2 2 2 2 2 2 2 2 2 ...
## $ barrio : Factor w/ 49 levels "","AGRONOMIA",..: 26 14 29 5 21 37 29 8 16 9 ...
## $ comuna : int 4 7 2 4 13 15 2 5 9 6 ...
## $ genero : Factor w/ 2 levels "femenino","masculino": 1 2 1 1 1 2 2 1 2 2 ...
## $ edad : int 83 48 30 19 22 29 39 24 30 27 ...
## $ clasificacion : Factor w/ 3 levels "confirmado","descartado",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ fecha_fallecimiento : Factor w/ 455 levels "","01APR2020:00:00:00.000000",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ fallecido : Factor w/ 1 level "si": NA NA NA NA NA NA NA NA NA NA ...
## $ fecha_alta : Factor w/ 473 levels "","01APR2020:00:00:00.000000",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ tipo_contagio : Factor w/ 5 levels "Comunitario",..: 1 1 1 1 1 1 1 1 1 1 ...
class(covid_CABA3$fecha_toma_muestra)
## [1] "POSIXct" "POSIXt"
Logramos convertir a formato “POSIXct”, el cual es una clase de datos de fecha y hora.
Como solo nos interesa el formato “fecha”, hacemos la conversión:
covid_CABA3 <- covid_CABA3 %>%
mutate(fecha=ymd(fecha_toma_muestra))
class(covid_CABA3$fecha)
## [1] "Date"
str(covid_CABA3)
## 'data.frame': 1486533 obs. of 15 variables:
## $ X.U.FEFF.numero_de_caso: int 12823524 12823554 12823611 12823652 12823672 12823684 12823687 12823691 12823747 12823800 ...
## $ fecha_apertura_snvs : Factor w/ 477 levels "01APR2020:00:00:00.000000",..: 313 313 313 313 313 313 313 313 313 313 ...
## $ fecha_toma_muestra : POSIXct, format: "2021-05-20" "2021-05-20" ...
## $ fecha_clasificacion : Factor w/ 527 levels "01APR2020:00:00:00.000000",..: 346 346 346 346 346 346 346 346 329 346 ...
## $ provincia : Factor w/ 24 levels "Buenos Aires",..: 2 2 2 2 2 2 2 2 2 2 ...
## $ barrio : Factor w/ 49 levels "","AGRONOMIA",..: 26 14 29 5 21 37 29 8 16 9 ...
## $ comuna : int 4 7 2 4 13 15 2 5 9 6 ...
## $ genero : Factor w/ 2 levels "femenino","masculino": 1 2 1 1 1 2 2 1 2 2 ...
## $ edad : int 83 48 30 19 22 29 39 24 30 27 ...
## $ clasificacion : Factor w/ 3 levels "confirmado","descartado",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ fecha_fallecimiento : Factor w/ 455 levels "","01APR2020:00:00:00.000000",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ fallecido : Factor w/ 1 level "si": NA NA NA NA NA NA NA NA NA NA ...
## $ fecha_alta : Factor w/ 473 levels "","01APR2020:00:00:00.000000",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ tipo_contagio : Factor w/ 5 levels "Comunitario",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ fecha : Date, format: "2021-05-20" "2021-05-20" ...
Queremos ver cuántos casos positivos hubo por mes para el año 2020 y, de estos, cuántos casos corresponden a varones y cuántos a mujeres.
Generamos nuevas columnas para las variables mes y año:
covid_CABA4 <- covid_CABA3 %>%
mutate(anio= substr(fecha, 1,4),
mes= substr(fecha, 6,7))
A fines prácticos, nos quedamos solo con los datos del año 2020:
covid_CABA2020 <- filter(covid_CABA4, anio=="2020")
head(covid_CABA2020)
## X.U.FEFF.numero_de_caso fecha_apertura_snvs fecha_toma_muestra
## 1 12939563 21MAY2021:00:00:00.000000 2020-07-30
## 2 2132780 26AUG2020:00:00:00.000000 2020-12-18
## 3 2137522 26AUG2020:00:00:00.000000 2020-12-13
## 4 2142919 26AUG2020:00:00:00.000000 2020-12-03
## 5 2154207 27AUG2020:00:00:00.000000 2020-08-25
## 6 2157031 27AUG2020:00:00:00.000000 2020-08-26
## fecha_clasificacion provincia barrio comuna genero edad
## 1 30JUL2020:00:00:00.000000 CABA VELEZ SARSFIELD 10 masculino 38
## 2 19DEC2020:00:00:00.000000 CABA ALMAGRO 5 masculino 44
## 3 13DEC2020:00:00:00.000000 CABA PALERMO 14 masculino 24
## 4 03DEC2020:00:00:00.000000 CABA SAN CRISTOBAL 3 femenino 34
## 5 27AUG2020:00:00:00.000000 CABA FLORES 7 femenino 29
## 6 27AUG2020:00:00:00.000000 CABA RECOLETA 2 masculino 40
## clasificacion fecha_fallecimiento fallecido fecha_alta tipo_contagio
## 1 confirmado <NA> Comunitario
## 2 confirmado <NA> Comunitario
## 3 confirmado <NA> Comunitario
## 4 confirmado <NA> Comunitario
## 5 confirmado <NA> Comunitario
## 6 confirmado <NA> Comunitario
## fecha anio mes
## 1 2020-07-30 2020 07
## 2 2020-12-18 2020 12
## 3 2020-12-13 2020 12
## 4 2020-12-03 2020 12
## 5 2020-08-25 2020 08
## 6 2020-08-26 2020 08
Veamos el resultado a través de un gráfico de líneas:
ggplot(covid_CABA2020 %>%
group_by(mes, genero) %>%
summarise(cantidad = n())) +
geom_line(aes(x = mes, y = cantidad, color=genero, group=genero)) +
geom_point(aes(x=mes, y=cantidad, color=genero))+
geom_text(aes(x=mes, y=cantidad+200, label=cantidad), size=2)+
labs(title = "Cantidad de casos COVID-19 en CABA",
subtitle = "Casos registrados por género en 2020",
x = "Mes",
y = "Cantidad",
color = "Género",
caption = "Fuente: BA Data")
## `summarise()` has grouped output by 'mes'. You can override using the `.groups` argument.
Como se puede ver, los casos de personas del género femenino comienzan a crecer, de manera evidente, por encima de aquellos correspondientes al género masculino, a partir del mes de junio. Además, se observa un pico intermedio de casos en el mes de agosto y, posteriormente, un pico aún mayor en el mes de diciembre.
Sumamos un gráfico de barras:
ggplot(covid_CABA2020) +
geom_bar(aes(x = mes, fill=genero)) +
labs(title = "Cantidad de casos COVID-19 en CABA",
subtitle = "Casos registrados por género en 2020",
x = "Mes",
y = "Cantidad",
fill = "Género",
caption = "Fuente: BA Data")
ggplot(covid_CABA2020)+
geom_bar(aes(x=mes, fill=genero), position="dodge")+
labs(title = "Cantidad de casos COVID-19 en CABA",
subtitle = "Casos registrados por género en 2020",
x = "Mes",
y = "Cantidad",
fill = "Género",
caption = "Fuente: BA Data")
Los últimos gráficos evidencian las conclusiones mencionadas en el gráfico de líneas anterior. Además, en el último gráfico de barras puede observarse que el número de casos confirmados de mujeres comenzó a ser levemente mayor al de varones desde mayo del 2020.
¿A qué puede deberse la temporalidad de los casos observados?
Sospechamos que el crecimiento de los casos a través del tiempo, además de la lógica esperada del aumento exponencial de contagios, puede ser consecuencia del aumento de la oferta de testeo (apertura de nuevos centros de testeo públicos). Otro motivo, podría ser la flexibilización de las medidas de aislamiento obligatorio.
En cuanto al pico de diciembre, es probable que el mismo esté vinculado al aumento de las reuniones propias de fin de año, y al incremento de testeos con motivo de viaje.
3. Análisis Espacial: Analizar la distribución espacial de los datos a partir de al menos 1 mapa de densidad que muestre donde se concentran la mayor cantidad de observaciones. Comparar la densidad de los datos en el tiempo (facetar). ¿Los patrones espaciales de los datos elegidos se mantienen o varían en el tiempo?
Como el dataset de Casos COVID no tiene coordenadas asignadas y no tenemos forma de obtener la información correspondiente, vamos a utilizar un nuevo dataset: COVID 147. Este último contiene información sobre los contactos a la línea de atencion al vecino (147) en temas vinculados al COVID.
Descargamos el dataset:
covid147 <- read.csv("data/covid147.csv",
encoding = "UTF-8", stringsAsFactors = TRUE)
names(covid147)
## [1] "Contacto" "Periodo" "Categoria"
## [4] "Fecha_ingreso" "Comuna" "Barrio"
## [7] "Domicilio_calle" "Domicilio_altura" "Lat"
## [10] "Long" "Canal" "Estado_del_contacto"
## [13] "Fecha_cierre_contacto" "DETALLE_RECLAMO"
summary(covid147)
## Contacto Periodo Categoria
## Min. : 89330 Min. :202003 Asistencia Logistica :16922
## 1st Qu.:124642 1st Qu.:202004 El voluntario no se comunica : 5823
## Median :170494 Median :202004 Ambas : 5768
## Mean :201745 Mean :202005 Logistística : 5184
## 3rd Qu.:265661 3rd Qu.:202006 Solicita cambio de voluntario.: 4859
## Max. :432034 Max. :202101 Resolución logística en 24 hs.: 1805
## (Other) : 6511
## Fecha_ingreso Comuna Barrio
## 21/04/2020 15:53:55: 3 CABA : 9764 : 4320
## 23/04/2020 10:58:15: 3 : 6307 Palermo : 1947
## 31/03/2020 11:09:55: 3 caba : 4605 Recoleta : 1708
## 01/04/2020 08:40:22: 2 buenos aires: 1744 Caballito: 1283
## 01/04/2020 11:08:13: 2 Comuna 1 : 1712 Belgrano : 1273
## 01/04/2020 11:08:14: 2 Buenos Aires: 1614 Almagro : 1061
## (Other) :46857 (Other) :21126 (Other) :35280
## Domicilio_calle Domicilio_altura Lat
## Avenida Rivadavia : 399 Min. :0.000e+00 Min. :-42.78
## Avenida Córdoba : 277 1st Qu.:9.660e+02 1st Qu.:-34.63
## Avenida Independencia: 270 Median :1.953e+03 Median :-34.61
## Avenida Eva Perón : 265 Mean :3.358e+06 Mean :-34.55
## Avenida Corrientes : 264 3rd Qu.:3.185e+03 3rd Qu.:-34.59
## Laprida : 243 Max. :1.572e+11 Max. : 51.22
## (Other) :45154 NA's :16 NA's :1
## Long Canal Estado_del_contacto
## Min. :-69.93 Min. :147 : 1
## 1st Qu.:-58.47 1st Qu.:147 Solucionado:46871
## Median :-58.44 Median :147
## Mean :-58.39 Mean :147
## 3rd Qu.:-58.41 3rd Qu.:147
## Max. : 18.42 Max. :147
## NA's :1 NA's :1
## Fecha_cierre_contacto DETALLE_RECLAMO
## 07/05/2020 15:33:42: 3 2 - Solo requiere compras : 8788
## 18/05/2020 14:38:49: 3 4 - Otros : 5105
## 25/04/2020 15:43:09: 3 Solicita cambio de voluntario. : 4859
## 01/06/2020 16:22:34: 2 Llamado telefónico y logística : 4536
## 01/06/2020 16:24:54: 2 1 - Realizar Compras y pasear mascota: 4131
## 01/06/2020 16:25:43: 2 Tiene Voluntario asignado en sistema : 3115
## (Other) :46857 (Other) :16338
str(covid147)
## 'data.frame': 46872 obs. of 14 variables:
## $ Contacto : int 132218 109012 128299 121279 119219 247629 314830 104769 117632 170870 ...
## $ Periodo : int 202004 202004 202004 202004 202004 202006 202007 202003 202004 202004 ...
## $ Categoria : Factor w/ 19 levels "Adulto mayor solicita baja al programa",..: 9 2 13 13 13 3 3 13 2 2 ...
## $ Fecha_ingreso : Factor w/ 46534 levels "01/04/2020 08:07:09",..: 22316 368 19425 12071 10372 3359 33611 43407 8986 39152 ...
## $ Comuna : Factor w/ 234 levels "","-1103","0",..: 1 86 70 123 70 66 128 91 87 1 ...
## $ Barrio : Factor w/ 2554 levels "","-monserrat",..: 764 1593 2119 617 2051 222 17 388 2396 1 ...
## $ Domicilio_calle : Factor w/ 6491 levels "","[DESCONOCIDA]",..: 5070 3229 2282 1389 4498 1848 1592 6269 395 6324 ...
## $ Domicilio_altura : num 1654 255 5725 3842 5455 ...
## $ Lat : num -34.6 -34.6 -34.6 -34.6 -34.6 ...
## $ Long : num -58.5 -58.5 -58.4 -58.5 -58.5 ...
## $ Canal : int 147 147 147 147 147 147 147 147 147 147 ...
## $ Estado_del_contacto : Factor w/ 2 levels "","Solucionado": 2 2 2 2 2 2 2 2 2 2 ...
## $ Fecha_cierre_contacto: Factor w/ 46471 levels "","01/04/2020 11:18:40",..: 24937 25505 30653 18610 7596 1341 41411 39194 32837 5720 ...
## $ DETALLE_RECLAMO : Factor w/ 45 levels "","1 - Realizar Compras y pasear mascota",..: 39 26 2 2 4 3 8 2 26 26 ...
Convertimos la columna Fecha_ingreso a una clase de formato de datos temporales:
covid147_1 <- covid147 %>%
mutate(fecha=dmy_hms(Fecha_ingreso))
class(covid147_1$Fecha_ingreso)
## [1] "factor"
covid147_2 <- covid147_1 %>%
mutate(Fecha_ingreso=dmy_hms(Fecha_ingreso))
class(covid147_2$Fecha_ingreso)
## [1] "POSIXct" "POSIXt"
str(covid147_2)
## 'data.frame': 46872 obs. of 15 variables:
## $ Contacto : int 132218 109012 128299 121279 119219 247629 314830 104769 117632 170870 ...
## $ Periodo : int 202004 202004 202004 202004 202004 202006 202007 202003 202004 202004 ...
## $ Categoria : Factor w/ 19 levels "Adulto mayor solicita baja al programa",..: 9 2 13 13 13 3 3 13 2 2 ...
## $ Fecha_ingreso : POSIXct, format: "2020-04-16 14:57:55" "2020-04-01 12:11:04" ...
## $ Comuna : Factor w/ 234 levels "","-1103","0",..: 1 86 70 123 70 66 128 91 87 1 ...
## $ Barrio : Factor w/ 2554 levels "","-monserrat",..: 764 1593 2119 617 2051 222 17 388 2396 1 ...
## $ Domicilio_calle : Factor w/ 6491 levels "","[DESCONOCIDA]",..: 5070 3229 2282 1389 4498 1848 1592 6269 395 6324 ...
## $ Domicilio_altura : num 1654 255 5725 3842 5455 ...
## $ Lat : num -34.6 -34.6 -34.6 -34.6 -34.6 ...
## $ Long : num -58.5 -58.5 -58.4 -58.5 -58.5 ...
## $ Canal : int 147 147 147 147 147 147 147 147 147 147 ...
## $ Estado_del_contacto : Factor w/ 2 levels "","Solucionado": 2 2 2 2 2 2 2 2 2 2 ...
## $ Fecha_cierre_contacto: Factor w/ 46471 levels "","01/04/2020 11:18:40",..: 24937 25505 30653 18610 7596 1341 41411 39194 32837 5720 ...
## $ DETALLE_RECLAMO : Factor w/ 45 levels "","1 - Realizar Compras y pasear mascota",..: 39 26 2 2 4 3 8 2 26 26 ...
## $ fecha : POSIXct, format: "2020-04-16 14:57:55" "2020-04-01 12:11:04" ...
A continuación, armamos el camino para observar cuántos contactos a la línea 147 hubo por mes para el año 2020.
Generamos nuevas columnas para las variables mes y año:
covid147_2 <- covid147_2 %>%
mutate(anio= substr(Fecha_ingreso, 1,4),
mes= substr(Fecha_ingreso, 6,7))
Filtramos los datos del año 2020:
covid147_2020 <- filter(covid147_2, anio=="2020")
head(covid147_2020)
## Contacto Periodo Categoria Fecha_ingreso Comuna
## 1 132218 202004 El voluntario no se comunica 2020-04-16 14:57:55
## 2 109012 202004 Ambas 2020-04-01 12:11:04 capital
## 3 128299 202004 Logistística 2020-04-14 10:04:56 CABA
## 4 121279 202004 Logistística 2020-04-08 12:26:19 Comuna 11
## 5 119219 202004 Logistística 2020-04-07 13:24:41 CABA
## 6 247629 202006 Asistencia Logistica 2020-06-02 16:12:29 Caba
## Barrio Domicilio_calle Domicilio_altura Lat Long Canal
## 1 Caballito Pedro Goyena 1654 -34.62847 -58.45159 147
## 2 floresta goya 255 -34.63203 -58.48657 147
## 3 Palermo coronel niceto vega 5725 -34.58560 -58.44050 147
## 4 BPJ Avenida Segurola 3842 -34.60343 -58.51601 147
## 5 Monte castro Miranda 5455 -34.62720 -58.51078 147
## 6 Almagro CALVO, CARLOS AV. 4198 -34.62505 -58.42435 147
## Estado_del_contacto Fecha_cierre_contacto
## 1 Solucionado 18/04/2020 16:06:48
## 2 Solucionado 18/05/2020 12:13:09
## 3 Solucionado 21/04/2020 10:34:37
## 4 Solucionado 13/08/2020 16:59:18
## 5 Solucionado 06/07/2020 11:10:50
## 6 Solucionado 02/06/2020 16:12:40
## DETALLE_RECLAMO fecha anio mes
## 1 Solicita le asignen un voluntario. 2020-04-16 14:57:55 2020 04
## 2 Llamado telefónico y logística 2020-04-01 12:11:04 2020 04
## 3 1 - Realizar Compras y pasear mascota 2020-04-14 10:04:56 2020 04
## 4 1 - Realizar Compras y pasear mascota 2020-04-08 12:26:19 2020 04
## 5 2 - Solo realiza compras 2020-04-07 13:24:41 2020 04
## 6 1 - Requiere le hagan compras y paseen mascota 2020-06-02 16:12:29 2020 06
Graficamos:
ggplot(covid147_2020) +
geom_bar(aes(x = mes)) +
labs(title = "Cantidad de contactos al 147 en CABA",
subtitle = "Contactos registrados en 2020",
x = "Mes",
y = "Cantidad",
caption = "Fuente: BA Data")
Se observa un pico de llamados bastante siginificativo en el mes de abril de 2020. Posterior a esto, comienza a haber una tendencia a la baja.
A continuación, pasamos a analizar los datos espaciales de nuestro dataset.
Decargamos un “mapa base” y lo asociamos a las coordenadas del dataset COVID 147. Para eso, primero vamos a filtrar las coordenadas que vemos que no corresponden con los límites de CABA.
covid147_2020_1 <- filter(covid147_2020, Lat <= -34.52655, Lat >= -34.70564, Long <= -58.33514, Long >= -58.53145)
Armamos nuestro “mapa base”:
bbox1 <- make_bbox(covid147_2020_1$Long, covid147_2020_1$Lat)
mapa_base <- get_stamenmap(bbox = bbox1,
maptype = "toner-lite",
zoom = 12)
## Source : http://tile.stamen.com/toner-lite/12/1381/2466.png
## Source : http://tile.stamen.com/toner-lite/12/1382/2466.png
## Source : http://tile.stamen.com/toner-lite/12/1383/2466.png
## Source : http://tile.stamen.com/toner-lite/12/1384/2466.png
## Source : http://tile.stamen.com/toner-lite/12/1381/2467.png
## Source : http://tile.stamen.com/toner-lite/12/1382/2467.png
## Source : http://tile.stamen.com/toner-lite/12/1383/2467.png
## Source : http://tile.stamen.com/toner-lite/12/1384/2467.png
## Source : http://tile.stamen.com/toner-lite/12/1381/2468.png
## Source : http://tile.stamen.com/toner-lite/12/1382/2468.png
## Source : http://tile.stamen.com/toner-lite/12/1383/2468.png
## Source : http://tile.stamen.com/toner-lite/12/1384/2468.png
## Source : http://tile.stamen.com/toner-lite/12/1381/2469.png
## Source : http://tile.stamen.com/toner-lite/12/1382/2469.png
## Source : http://tile.stamen.com/toner-lite/12/1383/2469.png
## Source : http://tile.stamen.com/toner-lite/12/1384/2469.png
ggmap(mapa_base)
Graficamos nuestros datos:
ggmap(mapa_base) +
geom_bin2d(data = covid147_2020_1,
aes(x = Long, y = Lat), bins=50)+
scale_fill_viridis_c(option = "magma", direction=-1)+
labs(title = "Cantidad de contactos al 147 en CABA",
subtitle = "Contactos registrados en 2020",
fill = "Cantidad",
caption = "Fuente: BA Data") +
theme_void()
Como se puede observar, la mayor cantidad de contactos al 147 se encuentra en las comunas 1, 2 y 14, agregando una tendencia a concentrarse en el centro de CABA y en todo el corredor norte.
Realizamos el análisis temporal y espacial de los casos por mes:
ggmap(mapa_base) +
geom_bin2d(data = covid147_2020_1,
aes(x = Long, y = Lat), bins=50)+
scale_fill_viridis_c(option = "magma", direction=-1)+
labs(title = "Cantidad de contactos al 147 en CABA",
subtitle = "Contactos registrados por mes en 2020",
fill = "Cantidad",
caption = "Fuente: BA Data") +
facet_wrap(~mes)+
theme_void()
El facetado nos demuestra que, a nivel temporal, los datos varían mes a mes. La mayor cantidad de llamados al 147 se encuentra en el mes de abril. En los meses posteriores la tendencia es a la baja, llegando a encontrar una cantidad mínima de contactos en el mes de diciembre.
En cuanto al análisis espacial, se observa que, a diferencia del mes de abril, donde la mayor cantidad de llamados parece contrarse en el corredor norte y en el centro de CABA, en el mes de mayo la concentración de llamados parece tender a distribuirse de manera más equilibrada en toda la ciudad. En los meses de octubre y noviembre se encuentra un punto de gran concentración de contactos al 147, en lo que pareciera ser el límite entra las comunas 4 y 1. LLegando a diciembre, no se encuentran diferencias significativas entre los llamados por zonas.