Escuelas verdes

Es un Programa del Ministerio de Educación del Gobierno de la Ciudad Autónoma de Buenos Aires que fomenta el desarrollo sustentable a través de la educación y la gestión ambiental en las escuelas. Está dirigido a alumnos, directivos, docentes, y personal no docente.

datatable(comunas)

Mapa Coroplético

El resultado de colorNumeric() es una función que asigna colores a valores numéricos en función de la paleta de colores y el dominio especificados. No es una tabla en sí misma, sino una función que puedes usar para asignar colores.

Cuando llamas a la función colorNumeric(), lo que obtienes es una función que puedes aplicar a un valor numérico para obtener su correspondiente color según la paleta y el dominio especificados.

¿Qué significa Escuelas Verdes? Qué es una escuela verde | Buenos Aires Ciudad - Gobierno de … Una Escuela Verde promueve procesos de enseñanza y aprendizaje vinculados con la educación ambiental, fomentando prácticas sustentables y gestionando ambientalmente sus recursos.

pal <- colorNumeric( palette = "Blues",
                     domain = comunas$AREA)


leaflet() %>%
  addProviderTiles(providers$OpenStreetMap)%>%
  addPolygons(data = comunas, 
              fillOpacity = 0.7,
              fillColor = ~pal(comunas$AREA))%>%
  addLegend("bottomright",
            pal = pal, 
            values = comunas$AREA)

Mapa Categórico

pal2 <- colorFactor( palette = "Set1",
                     domain = comunas$BARRIOS)


leaflet() %>%
  addProviderTiles(providers$OpenStreetMap)%>%
  addPolygons(data = comunas, 
              fillOpacity = 0.7,
              fillColor = ~pal2(comunas$BARRIOS))%>%
  addLegend("bottomright",
            pal = pal2, 
            values = comunas$BARRIOS)
## Warning in RColorBrewer::brewer.pal(max(3, n), palette): n too large, allowed maximum for palette Set1 is 9
## Returning the palette you asked for with that many colors

## Warning in RColorBrewer::brewer.pal(max(3, n), palette): n too large, allowed maximum for palette Set1 is 9
## Returning the palette you asked for with that many colors
library(dplyr)  
comunas <- comunas %>%
  mutate(BARRIOS = sub("-.*", "", BARRIOS))


pal2 <- colorFactor( palette = "Set1",
                     domain = comunas$BARRIOS)


leaflet() %>%
  addProviderTiles(providers$OpenStreetMap)%>%
  addPolygons(data = comunas, 
              fillOpacity = 0.7,
              fillColor = ~pal2(comunas$BARRIOS))%>%
  addLegend("bottomright",
            pal = pal2, 
            values = comunas$BARRIOS)
## Warning in RColorBrewer::brewer.pal(max(3, n), palette): n too large, allowed maximum for palette Set1 is 9
## Returning the palette you asked for with that many colors

## Warning in RColorBrewer::brewer.pal(max(3, n), palette): n too large, allowed maximum for palette Set1 is 9
## Returning the palette you asked for with that many colors

centroide

com2 <- st_transform(comunas, 32617)

puntosCentroides <- st_centroid(com2)
## Warning: st_centroid assumes attributes are constant over geometries
puntosCentroides <- st_transform(puntosCentroides, 4326)


leaflet() %>%
  addProviderTiles(providers$OpenStreetMap)%>%
  addPolygons(data = comunas, 
              fillOpacity = 0.7,
              fillColor = ~pal2(comunas$BARRIOS))%>%
  addLegend("bottomright",
            pal = pal2, 
            values = comunas$BARRIOS)%>%
  addMarkers(data = escuelasVerdes)
## Warning in RColorBrewer::brewer.pal(max(3, n), palette): n too large, allowed maximum for palette Set1 is 9
## Returning the palette you asked for with that many colors
## Warning in RColorBrewer::brewer.pal(max(3, n), palette): n too large, allowed maximum for palette Set1 is 9
## Returning the palette you asked for with that many colors

Variable cantidad

escuelasVerdes$comuna <- gsub("Comuna ", "", escuelasVerdes$comuna)

escuelasVerdes$comuna <- as.numeric(escuelasVerdes$comuna)


cantEscuelas <- escuelasVerdes%>%
  group_by(comuna)%>%
  summarise(cantidad = n())

cantEscuelas <- st_drop_geometry(cantEscuelas)

cantEscuelas <- cantEscuelas %>%
     rename(COMUNAS = comuna)

tablajoin <- inner_join(cantEscuelas, puntosCentroides, by = "COMUNAS")

tablajoin <- tablajoin %>%
  mutate(long = unlist(map(tablajoin$geometry,1)),
         lat = unlist(map(tablajoin$geometry,2)))

tablajoin <- st_drop_geometry(tablajoin )

leaflet() %>%
  addProviderTiles(providers$OpenStreetMap)%>%
  addPolygons(data = comunas, 
              fillOpacity = 0.7,
              fillColor = ~pal2(comunas$BARRIOS))%>%
  addLegend("bottomright",
            pal = pal2, 
            values = comunas$BARRIOS)%>%
  addMinicharts(
    tablajoin$long,
    tablajoin$lat,
    chartdata = tablajoin$cantidad,
    showLabels = TRUE,
    width = 45)
## Warning in RColorBrewer::brewer.pal(max(3, n), palette): n too large, allowed maximum for palette Set1 is 9
## Returning the palette you asked for with that many colors

## Warning in RColorBrewer::brewer.pal(max(3, n), palette): n too large, allowed maximum for palette Set1 is 9
## Returning the palette you asked for with that many colors
# using sf
# I transform to utm because st_centroid is not recommended for use on long/lat 



nc <- comunas %>% 
  st_transform(32617)

sf_cent <- st_centroid(nc)
## Warning: st_centroid assumes attributes are constant over geometries
nc <- sf_cent %>% 
  st_transform(4326)

leaflet()%>%
  addProviderTiles(providers$OpenStreetMap)%>%
  addPolygons(data=comunas)%>%
  addMarkers(data = nc)

Grafico 1

library(sf)
establecimientos <- st_read("./archivos/establecimientos_educativos_wgs84.shp")
## Reading layer `establecimientos_educativos_wgs84' from data source 
##   `C:\Evaluacion2\archivos\establecimientos_educativos_wgs84.shp' 
##   using driver `ESRI Shapefile'
## Simple feature collection with 2973 features and 27 fields
## Geometry type: POINT
## Dimension:     XY
## Bounding box:  xmin: -58.52918 ymin: -34.69318 xmax: -58.35072 ymax: -34.53619
## Geodetic CRS:  WGS 84
z <- summarise(group_by(establecimientos, comuna), cantidad = n())
z <- st_drop_geometry(z)

nc <- rename(nc, comuna = COMUNAS)
ambas <- inner_join(nc, z, by="comuna")

ambas <- ambas%>%
  dplyr::select(comuna, BARRIOS, cantidad)


# construyo un dataframe extrayendo lat y long
separated_coord <- ambas %>%
  mutate(long = unlist(map(ambas$geometry,1)),
         lat = unlist(map(ambas$geometry,2)))

# elimino la columna de geometría
separated_coord <- st_drop_geometry(separated_coord)

leaflet()%>%
  addProviderTiles(providers$OpenStreetMap)%>%
  addPolygons(data=comunas)%>%
  addMinicharts(
    separated_coord$long,
    separated_coord$lat,
    chartdata = separated_coord$cantidad,
    showLabels = TRUE,
    width = 45
  )

grafico 2

escuelasVerdes <- st_read("./archivos/escuelas_verdes_wgs84.shp")
## Reading layer `escuelas_verdes_wgs84' from data source 
##   `C:\Evaluacion2\archivos\escuelas_verdes_wgs84.shp' using driver `ESRI Shapefile'
## Simple feature collection with 266 features and 20 fields
## Geometry type: POINT
## Dimension:     XY
## Bounding box:  xmin: -58.52713 ymin: -34.69035 xmax: -58.35771 ymax: -34.5361
## Geodetic CRS:  WGS 84
unique(escuelasVerdes$gestion)
## [1] "Privada" "Estatal"
z3 <- summarise(group_by(escuelasVerdes, comuna, gestion), cantidad = n())
## `summarise()` has grouped output by 'comuna'. You can override using the
## `.groups` argument.
z3 <- st_drop_geometry(z3)

data_reshape2 <- spread(z3,                           
                        key = gestion,
                        value = cantidad)

arrange(data_reshape2, comuna)
## # A tibble: 15 × 3
## # Groups:   comuna [15]
##    comuna    Estatal Privada
##    <chr>       <int>   <int>
##  1 Comuna 1        9       7
##  2 Comuna 10      10       5
##  3 Comuna 11       9       8
##  4 Comuna 12       9       9
##  5 Comuna 13       9      22
##  6 Comuna 14      12      17
##  7 Comuna 15      10      11
##  8 Comuna 2        7       4
##  9 Comuna 3       10       6
## 10 Comuna 4       14       6
## 11 Comuna 5        6       6
## 12 Comuna 6        7       6
## 13 Comuna 7       10       5
## 14 Comuna 8       20       1
## 15 Comuna 9        7       4
nc$comuna <- paste("Comuna",nc$comuna) 

library("tidyr")

tablasJoin <- inner_join(nc, data_reshape2, by="comuna")

tablasJoin <- tablasJoin%>%
  dplyr::select(comuna, BARRIOS, Estatal, Privada)
str(tablasJoin)
## Classes 'sf' and 'data.frame':   15 obs. of  5 variables:
##  $ comuna  : chr  "Comuna 2" "Comuna 6" "Comuna 10" "Comuna 11" ...
##  $ BARRIOS : chr  "RECOLETA" "CABALLITO" "FLORESTA " "VILLA DEL PARQUE " ...
##  $ Estatal : int  7 7 10 9 9 12 10 9 14 6 ...
##  $ Privada : int  4 6 5 8 9 17 11 22 6 6 ...
##  $ geometry:sfc_POINT of length 15; first list element:  'XY' num  -58.4 -34.6
##  - attr(*, "sf_column")= chr "geometry"
##  - attr(*, "agr")= Factor w/ 3 levels "constant","aggregate",..: NA NA NA NA
##   ..- attr(*, "names")= chr [1:4] "comuna" "BARRIOS" "Estatal" "Privada"
separated_coord <- tablasJoin %>%
  mutate(long = unlist(map(tablasJoin$geometry,1)),
         lat = unlist(map(tablasJoin$geometry,2)))

separated_coord <- st_drop_geometry(separated_coord)


separated_coord <- separated_coord%>%
  mutate(total = Estatal + Privada)


colors <- c("#fcba50", "#fffa50")

leaflet()%>%
  addProviderTiles(providers$OpenStreetMap)%>%
  addPolygons(data=comunas)%>%
  addMinicharts(
    separated_coord$long, 
    separated_coord$lat,
    type = "pie",
    chartdata = separated_coord[, c("Estatal","Privada" )], 
    colorPalette = colors,
    width = 30 * sqrt(separated_coord$total) / sqrt(max(separated_coord$total)), 
    transitionTime = 0
  )

grafico 3

unique(escuelasVerdes$nivel)
## [1] "Secundaria"    "Primaria"      "Inicial"       "Superior"     
## [5] "Post Primaria"
z3 <- summarise(group_by(escuelasVerdes, comuna, nivel), cantidad = n())
## `summarise()` has grouped output by 'comuna'. You can override using the
## `.groups` argument.
z3 <- st_drop_geometry(z3)

data_reshape4 <- spread(z3,                           
                        key = nivel,
                        value = cantidad)

arrange(data_reshape4, comuna)
## # A tibble: 15 × 6
## # Groups:   comuna [15]
##    comuna    Inicial `Post Primaria` Primaria Secundaria Superior
##    <chr>       <int>           <int>    <int>      <int>    <int>
##  1 Comuna 1        8              NA        2          6       NA
##  2 Comuna 10       6              NA        5          4       NA
##  3 Comuna 11       3              NA        8          6       NA
##  4 Comuna 12       9              NA        4          5       NA
##  5 Comuna 13      11              NA        9         11       NA
##  6 Comuna 14      14              NA        8          7       NA
##  7 Comuna 15       9               1        6          5       NA
##  8 Comuna 2        6              NA        4          1       NA
##  9 Comuna 3        5              NA        5          5        1
## 10 Comuna 4        6              NA        7          7       NA
## 11 Comuna 5        6              NA        3          3       NA
## 12 Comuna 6        3              NA        7          3       NA
## 13 Comuna 7        9              NA        5          1       NA
## 14 Comuna 8       14              NA        4          3       NA
## 15 Comuna 9        5              NA        2          3        1
#nc$comuna <- paste("Comuna",nc$comuna) 

library("tidyr")

tablasJoin <- inner_join(nc, data_reshape4, by="comuna")

tablasJoin <- tablasJoin%>%
  dplyr::select(comuna, Inicial, Primaria, Secundaria, Superior)

separated_coord <- tablasJoin %>%
  mutate(long = unlist(map(tablasJoin$geometry,1)),
         lat = unlist(map(tablasJoin$geometry,2)))

separated_coord <- st_drop_geometry(separated_coord)

separated_coord <- separated_coord%>%
  mutate(total = Inicial + Primaria + Secundaria + Superior)


niveles <- separated_coord %>% 
  dplyr::select(Inicial, Primaria, Secundaria, Superior)


niveles[is.na(niveles)] <- 0

colors <- c("#3093e5", "#fcba50", "#a0d9e8", "#fffa50")
leaflet()%>%
  addProviderTiles(providers$OpenStreetMap)%>%
  addPolygons(data=comunas)%>%
  addMinicharts(
    separated_coord$long, separated_coord$lat,
    chartdata = niveles,
    colorPalette = colors,
    width = 45, height = 45
  )