#EJERCICIO Comedores en alcaldías de CDMX

library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5     v purrr   0.3.4
## v tibble  3.1.2     v dplyr   1.0.6
## 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
library(viridis)
## Loading required package: viridisLite
library(viridisLite)
alcaldias <- st_read("entradas/cdmx_alcaldias.geojson")
## Reading layer `cdmx_alcaldias' from data source 
##   `C:\Users\711167\OneDrive\00-R\Geo\entradas\cdmx_alcaldias.geojson' 
##   using driver `GeoJSON'
## Simple feature collection with 16 features and 8 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: -99.36492 ymin: 19.04824 xmax: -98.9403 ymax: 19.59276
## Geodetic CRS:  WGS 84
names(alcaldias)
## [1] "X_id"     "id"       "cnt_ssp"  "cnt_ngt"  "mncp_rs"  "cnt_cnf"  "geo_shp" 
## [8] "g_pnt_2"  "geometry"
#summary(alcaldias)
#st_crs(alcaldias)
comedores <- read.csv("entradas/comedores_cdmx.csv", stringsAsFactors = TRUE)
names(comedores)
##  [1] "COMEDOR.COMUNITARIO" "RACIONES"            "NOMBRE"             
##  [4] "CALLE.Y.NUMERO"      "EXT"                 "INT"                
##  [7] "COLONIA"             "ALCALDÍA"            "CP"                 
## [10] "Y"                   "X"
comedores_geo <- comedores %>%
  st_as_sf(coords = c("X", "Y"), crs = 4326)
join_espacial <- st_join(comedores_geo, alcaldias)
tablacom <- join_espacial %>%
  group_by(mncp_rs) %>%
  summarise(total=n())

#Sacar geometría

tabla_comedores <- join_espacial %>% 
  st_set_geometry(NULL) %>%
  group_by(mncp_rs) %>%
  summarise(total = n())

#Representación visual, pero no espacial

ggplot()+
  geom_sf(data=alcaldias, aes(fill=mncp_rs))+
  geom_point(data=comedores, aes(x=X, y=Y))

ggplot()+
  geom_sf(data=alcaldias)+
  geom_sf(data=join_espacial, aes(color=mncp_rs))

#Unir tabla con cantidades con info geográfica

alcaldia_comedor <- left_join(alcaldias, tabla_comedores, by="mncp_rs")
ggplot()+
  geom_sf(data=alcaldia_comedor, aes(fill=total))+
  geom_sf(data=join_espacial, aes(color=mncp_rs))+
  scale_fill_viridis_c()

ggplot()+
  geom_sf(data=alcaldia_comedor, aes(fill=total))+
  scale_fill_distiller(palette = "PuRd", direction = 1)

#Asignar un valor categórico

alcaldia_comedor <- alcaldia_comedor %>%
  mutate(CATEGORIA=as.factor(if_else(total>=mean(total), "MAYOR", "MENOR")))
ggplot()+
  geom_sf(data=alcaldia_comedor, aes(fill=CATEGORIA))+
  scale_fill_brewer()