# Título: Reclamos y Arbolado en CABA
### Tema Reclamos por rotura de veredas y especies de árbol relacionadas
Pregunta de investigación ¿Existe alguna relación entre el tipo de especie de árbol y los reclamos de la ciudadanía por rotura de vereda a causa de raíces de árboles?
Fecha y área delimitada: CABA - en principio 2017 a 2019- para todas las comunas
Objetivos Generales: Conocer si existe alguna relación entre el tipo de arbolado y la rotura de veredas en la ciudad
Objetivos Específicos: Saber qué tipos de especies son las que más causan roturas y cuales son las que menos daños causan
-Trabajo colaborativo
-Manejo de Features SF
-Conseguir bases de datos fiscalizadas y normalizadas
-Joinear tablas de Features
-Mapear grandes datasets
-Realizar correlaciones estadisticas con variables cualitativas
Para el siguiente proyecto utilizamos las librerias: -Tidyverse: Para el ordenamiento y manejo de los datos
-SF: Para el manejo de la informacion georreferenciada
-Knitr: para el manejo del Markdown
-ggrepel: para el etiquetado en ggplot2
library(tidyverse)
## -- Attaching packages -------------------------------------------------------------------------------------------- tidyverse 1.2.1 --
## v ggplot2 3.2.1 v purrr 0.3.2
## v tibble 2.1.3 v dplyr 0.8.3
## v tidyr 1.0.0 v stringr 1.4.0
## v readr 1.3.1 v forcats 0.4.0
## -- Conflicts ----------------------------------------------------------------------------------------------- tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(sf)
## Linking to GEOS 3.6.1, GDAL 2.2.3, PROJ 4.9.3
library(knitr)
library(ggrepel)
Utilizamos 2 Datasets en formato Shapefile (Este formato geografico permite tener una capa espacial georreferenciada asociada a un tabla): -Arbolado: Este dataset fue producido por la DG Arbolado a partir del Censo de Arbolado 2017-2018 -Reclamos: Este dataset fue provisto por la DG Reclamos de la Subsecretaria de Vias Peatonales
Arbolado <- st_read("C:/Users/Lu G/Documents/Arbolado/Arbolado-20191017T185613Z-001/Arbolado/Arbolado_wgs84.shp", stringsAsFactors = FALSE)
## Reading layer `Arbolado_wgs84' from data source `C:\Users\Lu G\Documents\Arbolado\Arbolado-20191017T185613Z-001\Arbolado\Arbolado_wgs84.shp' using driver `ESRI Shapefile'
## Simple feature collection with 372699 features and 24 fields
## geometry type: POINT
## dimension: XY
## bbox: xmin: -58.53042 ymin: -34.70264 xmax: -58.34278 ymax: -34.53426
## epsg (SRID): 4326
## proj4string: +proj=longlat +datum=WGS84 +no_defs
Reclamos <- st_read("C:/Users/Lu G/Documents/Arbolado/Reclamos-20191017T190139Z-001/Reclamos/Reclamos_derivados_arbolado_wgs84_2.shp", stringsAsFactors = FALSE)
## Reading layer `Reclamos_derivados_arbolado_wgs84_2' from data source `C:\Users\Lu G\Documents\Arbolado\Reclamos-20191017T190139Z-001\Reclamos\Reclamos_derivados_arbolado_wgs84_2.shp' using driver `ESRI Shapefile'
## Simple feature collection with 11289 features and 16 fields
## geometry type: POINT
## dimension: XY
## bbox: xmin: -58.53036 ymin: -34.69625 xmax: -58.3561 ymax: -34.53927
## epsg (SRID): 4326
## proj4string: +proj=longlat +datum=WGS84 +no_defs
El dataset utilizado contiene todos los arboles existentes en la ciudad hacia 2018, relevados a partir de un censo. El censo detalla la posicion georreferenciada de cada arbol e informacion del mismo (Especie, Follaje, Origen, Altura, Diametro, Inclinacion, etc) En la Ciudad de Buenos Aires existen segun este censo 372.699 arboles. Muchos de estos, a partir de sus raices, generan roturas en las veredas de la ciudad que se traducen en dificultades para caminar la ciudad, problemas de accesibilidad para personas con movilidad reducida, caidas y litigios a partir de estas y costos economicos para la reparacion de las mismas.
head(Arbolado)
## Simple feature collection with 6 features and 24 fields
## geometry type: POINT
## dimension: XY
## bbox: xmin: -58.38966 ymin: -34.62006 xmax: -58.38906 ymax: -34.62003
## epsg (SRID): 4326
## proj4string: +proj=longlat +datum=WGS84 +no_defs
## OBJECTID TIPO_SITIO ID_ARBOL ALTURA_TOT DIAMETRO INCLINACIO ID_ESPECIE
## 1 1 Árbo 2430 7 20 17 1
## 2 2 Árbo 2431 8 33 16 1
## 3 3 Árbo 2432 2 3 0 9
## 4 4 Árbo 2433 9 17 0 7
## 5 5 Árbo 2434 6 13 14 1
## 6 6 Árbo 2435 3 2 0 28
## NOMBRE_FAM NOMBRE_GEN NOMBRE_CIE NOMBRE_COM
## 1 Oleáceas Fraxinus Fraxinus pennsylvanica Fresno americano
## 2 Oleáceas Fraxinus Fraxinus pennsylvanica Fresno americano
## 3 Oleáceas Ligustrum Ligustrum lucidum Ligustro
## 4 Aceráceas Acer Acer negundo Arce negundo
## 5 Oleáceas Fraxinus Fraxinus pennsylvanica Fresno americano
## 6 Rosáceas Prunus Prunus cerasifera Ciruelo de jardín
## TIPO_FOLLA ORIGEN CODIGO_MAN NOMBRE_BAR
## 1 Árbol Latifoliado Caducifoli Exótico 14-017 CONSTITUCION
## 2 Árbol Latifoliado Caducifoli Exótico 14-017 CONSTITUCION
## 3 Árbol Latifoliado Perenne Exótico 14-017 CONSTITUCION
## 4 Árbol Latifoliado Caducifoli Exótico 14-017 CONSTITUCION
## 5 Árbol Latifoliado Caducifoli Exótico 14-017 CONSTITUCION
## 6 Árbol Latifoliado Caducifoli Exótico 14-017 CONSTITUCION
## CALLE CHAPA1 CHAPA2 LONGITUD LATITUD CUSER CDATE MUSER
## 1 Calvo, Carlos 1609 0 -58.3890588 -34.62002562 null null null
## 2 Calvo, Carlos 1617 0 -58.38921133 -34.62003427 null null null
## 3 Calvo, Carlos 1629 0 -58.38926879 -34.62003746 null null null
## 4 Calvo, Carlos 0 0 -58.38952523 -34.62005204 null null null
## 5 Calvo, Carlos 1655 0 -58.38960777 -34.62005669 null null null
## 6 Calvo, Carlos 1661 0 -58.38966523 -34.62005997 null null null
## MDATE geometry
## 1 null POINT (-58.38906 -34.62003)
## 2 null POINT (-58.38921 -34.62004)
## 3 null POINT (-58.38927 -34.62004)
## 4 null POINT (-58.38952 -34.62005)
## 5 null POINT (-58.3896 -34.62006)
## 6 null POINT (-58.38966 -34.62006)
summary(Arbolado)
## OBJECTID TIPO_SITIO ID_ARBOL
## Length:372699 Length:372699 Length:372699
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
## ALTURA_TOT DIAMETRO INCLINACIO
## Length:372699 Length:372699 Length:372699
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
## ID_ESPECIE NOMBRE_FAM NOMBRE_GEN
## Length:372699 Length:372699 Length:372699
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
## NOMBRE_CIE NOMBRE_COM TIPO_FOLLA
## Length:372699 Length:372699 Length:372699
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
## ORIGEN CODIGO_MAN NOMBRE_BAR
## Length:372699 Length:372699 Length:372699
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
## CALLE CHAPA1 CHAPA2
## Length:372699 Length:372699 Length:372699
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
## LONGITUD LATITUD CUSER
## Length:372699 Length:372699 Length:372699
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
## CDATE MUSER MDATE
## Length:372699 Length:372699 Length:372699
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
## geometry
## POINT :372699
## epsg:4326 : 0
## +proj=long...: 0
Guiados por esta pregunta, agrupamos los arboles por especie y obtuvimos el porcentaje del total de arboles de la ciudad que representa. Por una cuestion de mayor familiaridad, extrajimos la tabla correspondiente al Shapefile de Arbolado en formato de texto plano .CSV
write.csv(Arbolado, file = "C:/Users/Lu G/Documents/Arbolado/TB_Arbolado.csv", fileEncoding = 'UTF-8')
tb_arbol <- read.csv("C:/Users/Lu G/Documents/Arbolado/TB_Arbolado.csv", encoding = "UTF-8")
head(tb_arbol)
## X OBJECTID TIPO_SITIO ID_ARBOL ALTURA_TOT DIAMETRO INCLINACIO ID_ESPECIE
## 1 1 Árbo 2430 7 20 17 1 Oleáceas
## 2 2 Árbo 2431 8 33 16 1 Oleáceas
## 3 3 Árbo 2432 2 3 0 9 Oleáceas
## 4 4 Árbo 2433 9 17 0 7 Aceráceas
## 5 5 Árbo 2434 6 13 14 1 Oleáceas
## 6 6 Árbo 2435 3 2 0 28 Rosáceas
## NOMBRE_FAM NOMBRE_GEN NOMBRE_CIE
## 1 Fraxinus Fraxinus pennsylvanica Fresno americano
## 2 Fraxinus Fraxinus pennsylvanica Fresno americano
## 3 Ligustrum Ligustrum lucidum Ligustro
## 4 Acer Acer negundo Arce negundo
## 5 Fraxinus Fraxinus pennsylvanica Fresno americano
## 6 Prunus Prunus cerasifera Ciruelo de jardín
## NOMBRE_COM TIPO_FOLLA ORIGEN CODIGO_MAN
## 1 Árbol Latifoliado Caducifoli Exótico 14-017 CONSTITUCION
## 2 Árbol Latifoliado Caducifoli Exótico 14-017 CONSTITUCION
## 3 Árbol Latifoliado Perenne Exótico 14-017 CONSTITUCION
## 4 Árbol Latifoliado Caducifoli Exótico 14-017 CONSTITUCION
## 5 Árbol Latifoliado Caducifoli Exótico 14-017 CONSTITUCION
## 6 Árbol Latifoliado Caducifoli Exótico 14-017 CONSTITUCION
## NOMBRE_BAR CALLE CHAPA1 CHAPA2 LONGITUD LATITUD CUSER CDATE MUSER
## 1 Calvo, Carlos 1609 0 -58.38906 -34.62003 null null null null
## 2 Calvo, Carlos 1617 0 -58.38921 -34.62003 null null null null
## 3 Calvo, Carlos 1629 0 -58.38927 -34.62004 null null null null
## 4 Calvo, Carlos 0 0 -58.38953 -34.62005 null null null null
## 5 Calvo, Carlos 1655 0 -58.38961 -34.62006 null null null null
## 6 Calvo, Carlos 1661 0 -58.38967 -34.62006 null null null null
## MDATE geometry
## 1 c(-58.389055448596 -34.6200267926321)
## 2 c(-58.3892079909656 -34.6200354492275)
## 3 c(-58.3892654526201 -34.6200386389879)
## 4 c(-58.3895219057932 -34.6200532164412)
## 5 c(-58.3896044458833 -34.620057862942)
## 6 c(-58.3896619080324 -34.6200611417524)
Con esa misma tabla realizamos el agrupamiento por especie:
arbolado_cant <- tb_arbol %>%
group_by(NOMBRE_CIE) %>%
count(NOMBRE_CIE) %>%
mutate(porcentaje_especie = (n*100)/372699) %>%
arrange(desc(n))
## Warning: Factor `NOMBRE_CIE` contains implicit NA, consider using
## `forcats::fct_explicit_na`
## Warning: Factor `NOMBRE_CIE` contains implicit NA, consider using
## `forcats::fct_explicit_na`
## Warning: Factor `NOMBRE_CIE` contains implicit NA, consider using
## `forcats::fct_explicit_na`
## Warning: Factor `NOMBRE_CIE` contains implicit NA, consider using
## `forcats::fct_explicit_na`
## Warning: Factor `NOMBRE_CIE` contains implicit NA, consider using
## `forcats::fct_explicit_na`
Para poder visualizar sinteticamente el universo de arboles, generamos un ranking de las 10 especies de arboles mas comunes en la ciudad y lo graficamos:
top10_esparboles <- filter(arbolado_cant, n > 9752) %>%
arrange(desc(n))
top10 <- top10_esparboles$n
as.numeric(top10)
## [1] 141825 34786 24558 24076 17477 11046 10537 10256 9788 9753
top10_esparboles_plot <- factor(top10_esparboles, levels = top10_esparboles)
ggplot(top10_esparboles, aes(x=reorder(NOMBRE_CIE, -n), y=n)) +
geom_bar(stat="identity", fill=terrain.colors(10)) +
theme(axis.text.x = element_text(angle=65, vjust=0.6)) +
geom_text(aes(label=n), vjust=1.2, size=3) +
xlab("Especie") +
ylab("Cantidad")
Este dataset se compone de los reclamos por rotura de veredas causadas por raices de arboles. Los reclamos fueron generados por los vecinos de la ciudad via SUACI entre Junio de 2016 y Enero de 2019. Estos reclamos fueron fiscalizados por la Subsecretaria de Vias Peatonales para relevar si efectivamente existia rotura y fueron derivados a DG Arbolado para su tratamiento. En total, consta de 11.289 reclamos verificados.
head(Reclamos)
## Simple feature collection with 6 features and 16 fields
## geometry type: POINT
## dimension: XY
## bbox: xmin: -58.50927 ymin: -34.64831 xmax: -58.45425 ymax: -34.59526
## epsg (SRID): 4326
## proj4string: +proj=longlat +datum=WGS84 +no_defs
## Aviso Fecha.de.a Hora.del.a Ubicaci.f3.n
## 1 S00686849/18 08/06/2018 11:58:09 p.m. B-VP-01033-05101-IMP
## 2 S01092919/18 04/09/2018 11:57:57 p.m. B-VP-08001-03651-IMP
## 3 S00873062/17 06/09/2017 11:56:24 p.m. B-VP-02046-01301-PAR
## 4 S00895067/17 13/09/2017 11:53:13 p.m. B-VP-06049-01001-IMP
## 5 S01348508/18 31/10/2018 11:51:32 p.m. B-VP-20088-02301-PAR
## 6 S00742105/17 30/07/2017 11:49:56 p.m. B-VP-13111-04142-PAR
## Denominaci Descripci.f3.
## 1 ALBERDI, JUAN AV. 5101-5199 Acera Impar ALBERDI, JUAN BAUTISTA AV. 5127
## 2 HABANA 3651-3699 Acera Impar HABANA 3651
## 3 BELAUSTEGUI, LUIS, DR. 1302-1400 Par BELAUSTEGUI, LUIS, DR. 1368
## 4 FRAGATA PRES. SARMIENTO 1001-1099 Impar FRAGATA PRES. SARMIENTO 1015
## 5 SEGUROLA AV. 2302-2350 Acera Par SEGUROLA AV. 2318
## 6 MONTE 4142-4200 Acera Par MONTE 4166
## Status.de Clase.de.a Pto.tbjo.r Grupo.plan Orden Creado.por
## 1 IM01 SU <NA> AR1 NA CRMUSER
## 2 VERI SU <NA> AR1 NA CRMUSER
## 3 PROG SU <NA> AR1 8403635 CRMUSER
## 4 VERI SU <NA> AR1 NA CRMUSER
## 5 VERI SU <NA> AR1 NA CRMUSER
## 6 VERI SU <NA> AR1 NA CRMUSER
## Hora.de.mo Fin.desead Modificado Direcci.f3.n
## 1 11:57:43 a.m. 18/06/2018 AVARCHETTA ALBERDI, JUAN BAUTISTA AV. 5127
## 2 04:49:11 p.m. 14/09/2018 CRMUSER HABANA 3651
## 3 03:58:51 p.m. 16/09/2017 MACUNAMEHDI BELAUSTEGUI, LUIS, DR. 1368
## 4 04:00:04 p.m. 23/09/2017 MACUNAMEHDI FRAGATA PRES. SARMIENTO 1015
## 5 11:57:32 a.m. 10/11/2018 ORACLEUSR SEGUROLA AV. 2318
## 6 08:52:14 a.m. 09/08/2017 CRMUSER MONTE 4166
## geometry
## 1 POINT (-58.49714 -34.64655)
## 2 POINT (-58.50927 -34.59526)
## 3 POINT (-58.45923 -34.60692)
## 4 POINT (-58.45425 -34.61256)
## 5 POINT (-58.50538 -34.615)
## 6 POINT (-58.47415 -34.64831)
summary(Reclamos)
## Aviso Fecha.de.a Hora.del.a
## Length:11289 Length:11289 Length:11289
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## Ubicaci.f3.n Denominaci Descripci.f3.
## Length:11289 Length:11289 Length:11289
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## Status.de Clase.de.a Pto.tbjo.r
## Length:11289 Length:11289 Length:11289
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## Grupo.plan Orden Creado.por
## Length:11289 Min. : 5205798 Length:11289
## Class :character 1st Qu.: 8420884 Class :character
## Mode :character Median : 8461310 Mode :character
## Mean : 8558630
## 3rd Qu.: 8492993
## Max. :60000507
## NA's :9986
## Hora.de.mo Fin.desead Modificado
## Length:11289 Length:11289 Length:11289
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## Direcci.f3.n geometry
## Length:11289 POINT :11289
## Class :character epsg:4326 : 0
## Mode :character +proj=long...: 0
##
##
##
##
Mapa del Arbolado de la Ciudad de Buenos Aires
arbolado_mapa <- summarise(Arbolado)
ggplot()+
geom_sf(data = arbolado_mapa, colour = "Dark Green")
En primer lugar, es necesario cruzar ambos datasets para conocer que arbol especifico genero el reclamo por rotura. Esto no esta identificado a priori en los datasets ya que no contienen ningun campo que los conecte entre si. La unica manera de generar este cruce es espacialmente. Es decir, encontrar el arbol correspondiente al reclamo a partir de una relacion espacial, en este caso, la cercania. Tomando cada reclamo generado a partir de sus coordenadas encontramos el arbol mas cercano.
Index <- st_nearest_feature(Reclamos, Arbolado)
## although coordinates are longitude/latitude, st_nearest_feature assumes that they are planar
Este index, señala para cada Nº de fila en la base de reclamos el Nº de fila del arbol correspondiente
x |
---|
208346 |
90310 |
229627 |
62550 |
243474 |
365404 |
300563 |
59336 |
351955 |
154715 |
Sumamos el index al dataset de Reclamos en una nueva columna
Direccion | Arbol | geometry |
---|---|---|
ALBERDI, JUAN BAUTISTA AV. 5127 | 208346 | c(-58.4971438558396, -34.646545829748) |
HABANA 3651 | 90310 | c(-58.5092728433408, -34.5952612292065) |
BELAUSTEGUI, LUIS, DR. 1368 | 229627 | c(-58.459233175007, -34.6069233754069) |
FRAGATA PRES. SARMIENTO 1015 | 62550 | c(-58.4542496708359, -34.6125614823545) |
SEGUROLA AV. 2318 | 243474 | c(-58.5053779758706, -34.6149993059606) |
A partir de este index, que se convierte en un campo clave entre las dos bases podemos hacer un join entre ambas para continuar el analisis. Este paso, trajo algunas dificultades en el uso del Left Join de Dplyr en Tidyverse: -Al estar usando el formato Shapefile convertidos en features de SF, el join generaba un error por el tipo de archivo -La idea siguiente fue, convertir esa feature de SF en un Data Frame, el cual es un formato mas comun para trabajar en R -Esta vez, el Join no objetaba el formatato de archivo sino el formato de columna String para datos cuantitativos -Por lo cual, coercionamos la columna ID a formato Integer para poder realizar el Join Arbolado a Data Frame
Arbolado2 <- as.data.frame(Arbolado)
ID a Campo Integer para Joinear
Arbolado2 <- mutate(Arbolado2, id = rownames(Arbolado2))
#A integer
Arbolado2 <- mutate(Arbolado2, id = as.numeric(id))
Realizados los pasos anteriores, pudimos realizar el Left Join Join entre Reclamos y Arbolado por id arbol + cercano/Id arbol
Reclamos_arb <- left_join(x = Reclamos_ind,y = Arbolado2, by = c("Arbol"="id"))
Este data frame devuelve una tabla en la que cada reclamo por rotura de raices tiene el arbol que lo genera y su informacion.
¿Qué tipo de de árboles generan mayor cantidad de reclamos? Como habiamos realizado con la base de arbolado, tambien convertimos la base de Reclamos (Joineada con los respectivos arboles) a .CSV para mayor comodidad en el manejo de los datos. Eliminamos a su vez los campos de coordenadas que generaban errores en el procesamiento.
Reclamos_arb_csv <- Reclamos_arb
Reclamos_arb_csv[42:44] <- list(NULL)
write.csv(Reclamos_arb_csv, file = "C:/Users/Lu G/Documents/Arbolado/TB_Reclamos_Arb.csv", fileEncoding = 'UTF-8')
tb_reclamos <- read.csv("C:/Users/Lu G/Documents/Arbolado/TB_Reclamos_Arb.csv", encoding = "UTF-8")
head(tb_reclamos)
## X Aviso Fecha.de.a Hora.del.a Ubicaci.f3.n
## 1 1 S00686849/18 08/06/2018 11:58:09 p.m. B-VP-01033-05101-IMP
## 2 2 S01092919/18 04/09/2018 11:57:57 p.m. B-VP-08001-03651-IMP
## 3 3 S00873062/17 06/09/2017 11:56:24 p.m. B-VP-02046-01301-PAR
## 4 4 S00895067/17 13/09/2017 11:53:13 p.m. B-VP-06049-01001-IMP
## 5 5 S01348508/18 31/10/2018 11:51:32 p.m. B-VP-20088-02301-PAR
## 6 6 S00742105/17 30/07/2017 11:49:56 p.m. B-VP-13111-04142-PAR
## Denominaci Descripci.f3.
## 1 ALBERDI, JUAN AV. 5101-5199 Acera Impar ALBERDI, JUAN BAUTISTA AV. 5127
## 2 HABANA 3651-3699 Acera Impar HABANA 3651
## 3 BELAUSTEGUI, LUIS, DR. 1302-1400 Par BELAUSTEGUI, LUIS, DR. 1368
## 4 FRAGATA PRES. SARMIENTO 1001-1099 Impar FRAGATA PRES. SARMIENTO 1015
## 5 SEGUROLA AV. 2302-2350 Acera Par SEGUROLA AV. 2318
## 6 MONTE 4142-4200 Acera Par MONTE 4166
## Status.de Clase.de.a Pto.tbjo.r Grupo.plan Orden Creado.por
## 1 IM01 SU <NA> AR1 NA CRMUSER
## 2 VERI SU <NA> AR1 NA CRMUSER
## 3 PROG SU <NA> AR1 8403635 CRMUSER
## 4 VERI SU <NA> AR1 NA CRMUSER
## 5 VERI SU <NA> AR1 NA CRMUSER
## 6 VERI SU <NA> AR1 NA CRMUSER
## Hora.de.mo Fin.desead Modificado Direccion
## 1 11:57:43 a.m. 18/06/2018 AVARCHETTA ALBERDI, JUAN BAUTISTA AV. 5127
## 2 04:49:11 p.m. 14/09/2018 CRMUSER HABANA 3651
## 3 03:58:51 p.m. 16/09/2017 MACUNAMEHDI BELAUSTEGUI, LUIS, DR. 1368
## 4 04:00:04 p.m. 23/09/2017 MACUNAMEHDI FRAGATA PRES. SARMIENTO 1015
## 5 11:57:32 a.m. 10/11/2018 ORACLEUSR SEGUROLA AV. 2318
## 6 08:52:14 a.m. 09/08/2017 CRMUSER MONTE 4166
## Arbol OBJECTID TIPO_SITIO ID_ARBOL ALTURA_TOT DIAMETRO INCLINACIO
## 1 208346 209346 Árbo 24002165 8 19 0
## 2 90310 90310 Árbo 162947 3 6 0
## 3 229627 229627 Árbo 29000066 12 16 0
## 4 62550 63550 Árbo 128615 12 49 0
## 5 243474 241474 Árbo 31001110 9 40 0
## 6 365404 361404 Árbo 112001558 6 30 0
## ID_ESPECIE NOMBRE_FAM NOMBRE_GEN
## 1 2 Platanaceae Platanus
## 2 8 Litráceas Lagerstroemia
## 3 5 Oleáceas Ligustrum
## 4 29 Leguminosas Acacia
## 5 1 Oleáceas Fraxinus
## 6 371 Tiliaceas Tilia
## NOMBRE_CIE
## 1 Platanus x acerifolia
## 2 Lagerstroemia indica
## 3 Ligustrum lucidum for. aureo-variegatum
## 4 Acacia dealbata
## 5 Fraxinus pennsylvanica
## 6 Tilia sp.
## NOMBRE_COM TIPO_FOLLA
## 1 Plátano Árbol Latifoliado Caducifoli
## 2 Crespón (Àrbol de Júpiter) Árbol Latifoliado Caducifoli
## 3 Ligustro disciplinado (Ligustro variegado) Árbol Latifoliado Perenne
## 4 Mimosa (Aromo francés) Árbol Latifoliado Perenne
## 5 Fresno americano Árbol Latifoliado Caducifoli
## 6 Tilo No Determinado
## ORIGEN CODIGO_MAN NOMBRE_BAR CALLE CHAPA1
## 1 Exótico 60-078 MATADEROS Alberdi, Juan Bautista Av. 5129
## 2 Exótico 83-150 VILLA DEVOTO Gutenberg 3619
## 3 Exótico 59-129 CABALLITO Belaustegui, Luis, Dr. 1368
## 4 Exótico 57-090B CABALLITO Fragata Pres. Sarmiento 1015
## 5 Exótico 87-101 MONTE CASTRO Segurola Av. 2310
## 6 Exótico 54-101B PARQUE AVELLANEDA Monte 4168
## CHAPA2 LONGITUD LATITUD CUSER CDATE MUSER MDATE
## 1 0 -58.49712 -34.64650 null null null null
## 2 0 -58.50927 -34.59524 null null null null
## 3 0 -58.45921 -34.60692 null null null null
## 4 0 -58.45424 -34.61258 null null null null
## 5 0 -58.50536 -34.61502 null null null null
## 6 0 -58.47415 -34.64833 null null null null
Agrupamos los reclamos generados en la ciudad a partir de la especie del arbol que lo genera y contamos el tamaño de cada grupo y su peso relativo sobre la totalidad de los reclamos Para un mejor entendimiento de la problematica trajimos a su vez la base de arboles por especie, con el fin de comparar el peso de la especie sobre los reclamos y sobre el arbolado en general
Reclamos_arb_cant_nombre <- tb_reclamos %>%
group_by(NOMBRE_COM)%>%
count(NOMBRE_COM) %>%
mutate(porcentaje_de_reclamos = (n*100)/11289) %>%
arrange(desc(n))
Reclamos_arb_cant_nombre <- left_join(Reclamos_arb_cant_nombre, arbolado_cant, by = c("NOMBRE_COM"="NOMBRE_CIE"))
## Warning: Column `NOMBRE_COM`/`NOMBRE_CIE` joining factors with different
## levels, coercing to character vector
head(Reclamos_arb_cant_nombre)
## # A tibble: 6 x 5
## # Groups: NOMBRE_COM [6]
## NOMBRE_COM n.x porcentaje_de_reclam~ n.y porcentaje_espec~
## <chr> <int> <dbl> <int> <dbl>
## 1 Fresno americano 4148 36.7 141825 38.1
## 2 Plátano 1691 15.0 34786 9.33
## 3 Paraíso 911 8.07 24558 6.59
## 4 Tilo 796 7.05 17477 4.69
## 5 Ficus 685 6.07 24076 6.46
## 6 Fresno (Fresno comú~ 419 3.71 10537 2.83
Utilizando como insumo el paso anterior podemos aislar las especies que mayor cantidad de reclamos generaron en la ciudad
top10_esp_roturas <- filter(Reclamos_arb_cant_nombre, n.x > 167) %>%
arrange(desc(n.x))
top10_esp_roturas
## # A tibble: 10 x 5
## # Groups: NOMBRE_COM [10]
## NOMBRE_COM n.x porcentaje_de_recl~ n.y porcentaje_espe~
## <chr> <int> <dbl> <int> <dbl>
## 1 Fresno americano 4148 36.7 141825 38.1
## 2 Plátano 1691 15.0 34786 9.33
## 3 Paraíso 911 8.07 24558 6.59
## 4 Tilo 796 7.05 17477 4.69
## 5 Ficus 685 6.07 24076 6.46
## 6 Fresno (Fresno común) 419 3.71 10537 2.83
## 7 Tipa blanca 280 2.48 9788 2.63
## 8 Ligustro 235 2.08 9753 2.62
## 9 Jacarandá 216 1.91 11046 2.96
## 10 Ligustro disciplinado~ 176 1.56 9254 2.48
Sin embargo, este ranking no permite observar facilmente cuales son los arboles que MAS rompen las veredas con sus raices. Que una especie genere mayor cantidad de reclamos no tiene que ver solamente con sus caracteristicas, sino tambien con el tamaño de su poblacion en la ciudad. Por eso es necesario poner en perspectiva el “ranking” de especies que generan reclamos: Podriamos plantear la hipotesis de que: -Especie de arbol que mayor cantidad de roturas generan en las veredas de la ciudad son las que mayor porcentaje de SU propia poblacion genero reclamos en la ciudad. Entonces, buscamos las especies en las que es mayor el porcentaje de individuos que generan reclamos
Especie_Comparacion <- Reclamos_arb_cant_nombre %>%
mutate(Diferencia = porcentaje_de_reclamos-porcentaje_especie) %>%
mutate(Porcentaje_Que_Rompe = (n.x*100)/n.y)
Tomando especies significativas (Mas de 500 arboles implantados en la Ciudad), podemos realizar un nuevo ranking. Este recorte de “especies significativas” es totalmente arbitrario pero permite dejar de lado poblaciones minimas de algunas especies en la CABA.
Especie_Comparacion_Signif <- Especie_Comparacion %>%
mutate(n.y = as.numeric(n.y)) %>%
filter(n.y > 499 & NOMBRE_COM!="No Determinado") %>%
arrange(desc(Porcentaje_Que_Rompe))
Especie_Comparacion_Signif
## # A tibble: 45 x 7
## # Groups: NOMBRE_COM [45]
## NOMBRE_COM n.x porcentaje_de_r~ n.y porcentaje_espe~ Diferencia
## <chr> <int> <dbl> <dbl> <dbl> <dbl>
## 1 Plátano 1691 15.0 34786 9.33 5.65
## 2 Tilo 796 7.05 17477 4.69 2.36
## 3 Fresno (F~ 419 3.71 10537 2.83 0.884
## 4 Liquidamb~ 158 1.40 4221 1.13 0.267
## 5 Paraíso 911 8.07 24558 6.59 1.48
## 6 Palo borr~ 62 0.549 1750 0.470 0.0797
## 7 Sauce llo~ 33 0.292 960 0.258 0.0347
## 8 Árbol del~ 43 0.381 1411 0.379 0.00231
## 9 Álamo car~ 58 0.514 1921 0.515 -0.00165
## 10 Morera bl~ 20 0.177 667 0.179 -0.00180
## # ... with 35 more rows, and 1 more variable: Porcentaje_Que_Rompe <dbl>
Presentamos este resultado como un intermedio en el analisis. Entendemos que aun quedan variables por analizar pero a la vez podemos llegar a algunas conclusiones que posteriormente deberan ser verificadas Pese a un supuesto inicial, el cual parecia indicar que algunas especies serian notoriamente las que mas roturas causaran, nos encontramos con un panorama bastante equilibrado en el que podemos destacar especies que rompen por encima o por debajo de la media sin alejarse excesivamente de esta Como conclusiones podriamos señalar que: Las especies que mas rompen, medidas por el numero de reclamos que generaron son:
Especies_Rotura <- Especie_Comparacion_Signif[1:10,]
theme_set(theme_bw())
ggplot(Especies_Rotura, aes(Especies_Rotura$Porcentaje_Que_Rompe, Especies_Rotura$n.y)) +
geom_jitter(width = 0, size=2, color = "Dark Green") +
geom_text_repel(label = Especies_Rotura$NOMBRE_COM) +
labs(y="Cantidad de Individuos",
x="Porcentaje de Rotura",
title="Especies que mas rompen") +
scale_y_log10() +
xlim(c(2.8,5.25))
Y las especies que menos rompen son:
Especies_menos_rotura <- Especie_Comparacion_Signif[36:45,] %>%
arrange(Porcentaje_Que_Rompe)
theme_set(theme_bw())
ggplot(Especies_menos_rotura, aes(Especies_menos_rotura$Porcentaje_Que_Rompe, Especies_menos_rotura$n.y)) +
geom_jitter(width =0, size=2, color = "Dark Green") +
geom_text_repel(label = Especies_menos_rotura$NOMBRE_COM) +
labs(y="Cantidad de Individuos",
x="Porcentaje de Rotura",
title="Especies que menos rompen") +
scale_y_log10() +
xlim(c(0.5,1.9))
Para profundizar, resta sumar variables como la altura o el diametro del arbol (datos presentes en el censo) y encontrar correlaciones estadisticas. Si bien contemplamos explorar algun tipo de correlacion, la realizacion de las mismas a partir de variables cualitativas implico un desarrollo al cual no pudimos dar respuesta aun. A su vez, obtener un universo mayor de reclamos y de roturas fiscalizadas en la Ciudad de Buenos Aires, e incluso en otros distritos, permitiria comprobar los resultados encontrados en este proyecto y mejorar el analisis y sus conclusiones.