Datos por el día del maestro

(dar click para agrandar cualquier imagen del texto)
     Para conmemorar el día del maestro me puse a explorar la base de datos de las escuelas del país, disponible en datos.gob.mx; la base viene con un csv para cada estado pero en R se combinan fácilmente sin necesidad de descargarlos uno por uno. Me tengo que disculpar porque quería hacer la primera app de shiny del blog pero el tiempo no me lo permitió.
     En los registros se recoge la ubicación geográfica, el nivel y subnivel, el nombre y el tipo de escuela, entre otras variables; sólamente están las 259,337 que se encuentran registradas ante la SEP, en las que se van fraguando los ideales y las aspiraciones de este país (por lo menos eso siento cada que paso por una escuela pública).
    Primero, al ver cómo están constituidas por subnivel y ámbito, vemos una estructura piramidal muy pronunciada, lo cual nos dice que conforme se avanza de grado disminuye la cantidad de personas con acceso a la educación; además se puede ver que hay buena penetración de preescolar y primaria en el ámbito rural, que las telesecundarias cubren las zonas rurales y que las escuelas indígenas se ubican también en ese ámbito.
     Por nivel de subcontrol podemos ver que la vasta mayoría de las escuelas son administradas estatalmente y que las particulares sólo cubren el ámbito urbano.


     Ahora vamos con visualizaciones geográficas; en primer lugar, podemos ver que las escuelas indígenas se encuentran en los territorios de las principales etnias del país: cucapás, mayos, seris, rarámuris, purhépechas, zapotecos, mixtecos, totonacas, huastecos, nahuatls, chontales, tzotziles y mayas

 
    En los nombres de las escuelas se rinden homenajes a personas que han marcado la historia, los que más predominan son los de los grandes próceres de la nación, empezando por Benito Juárez, con 6,143 escuelas de todos los niveles -incluidas varias universidades- que llevan el nombre del reformista oaxaqueño:

 

Le sigue Emiliano Zapata, muy de lejos, con 4,144 escuelas que llevan el nombre del caudillo del sur.

     También hay muchas con nombres de profesores, comenzando por Justo Sierra (el mapa de portada de esta entrada), José Vasconcelos y Rosaura Zapata, después aparecen los de los veracruzanos Enrique Rébsamen y Carlos A. Carrillo. Y, como es costumbre, al final se encuentra el código para que ustedes mismos busquen escuelas con distintos nombres y jueguen con los datos.

















library(foreach)
library(forcats)
library(ggplot2)
library(dplyr)
library(stringr)
library(raster)
# descarga de archivos
foreach(i=1:32, .combine=rbind) %do% {
  read_csv(sprintf("http://fs.planeacion.sep.gob.mx/cct/cct%02d.csv", i))
} -> nacional

# mapa de México
mex <- raster::getData(country="MEX", level=1)
names(nacional)
# A graficar:

# por nivel de subcontrol
nacional %>% ggplot(aes(fct_rev(fct_infreq((nsubcontrol))), fill=ambito)) +
  geom_bar(width = .7) + coord_flip() + xlab("") +
  labs(caption="datamarindo.blogspot.mx CC-by-SA", title="Nivel de subcontrol") +
  scale_fill_manual(values=c("lightpink4", "lightgoldenrod"))

# por subnivel
nacional %>% ggplot(aes(fct_rev(fct_infreq((nsubnivel))), fill=ambito)) +
  geom_bar(width = .7) + coord_flip() + xlab("") +
  labs(caption="datamarindo.blogspot.mx CC-by-SA", title="Por subnivel/ámbito",
       fill="ámbito") +
  scale_fill_manual(values=c("lightpink4", "lightgoldenrod"))

# Para ver los nombres más comunes de las escuelas
# ADVERTENCIA: se agrupan sólo los idénticos, por ejemplo,
# Benito Juárez y Telesecundaria Benito Juárez no se contarían en el mismo
grupo
nacional %>% group_by(nombrecct) %>% count() %>% arrange(desc(n)) %>% View

# Mapeo de los nombres de las escuelas
# hay errores ortográficos así que el código lo busca con y sin tilde

nombre = "ROSAURA ZAPATA" # nombre en mayúsculas con acento
i = paste(nombre,iconv(nombre,"UTF-8", "ASCII//TRANSLIT"), sep = "|")
j = naci %>% filter(latitud!=0 & grepl(i, nombrecct)) %>% count

nacional %>% filter(latitud!=0 & grepl(i, nombrecct)) %>%
  ggplot(aes(longitud, latitud)) + geom_point(size=0.8) +
  scale_color_discrete(guide=F) + coord_quickmap() +
  geom_polygon(data=mex, aes(x=long,y=lat, group=group), alpha=0, color="coral3") +
  labs(title=sprintf("Escuelas llamadas %s", str_to_title(nombre)),
            subtitle = paste("total =", j[[1]]),
       caption="datamarindo.blogspot.mx CC-by-SA") + theme_linedraw() +
  theme(plot.title=element_text(size=10))

# Escuelas indígenas
ind = nacional %>% filter(latitud!=0 & grepl("INDIGENA", nsubnivel)) %>% count
nacional %>% filter(latitud!=0 & grepl("INDIGENA", nsubnivel)) %>%
  ggplot(aes(longitud, latitud)) + geom_point(size=0.8) +  scale_color_discrete(guide=F) +
  geom_polygon(data=mex, aes(x=long,y=lat, group=group), alpha=0, color="coral3") +
  labs(title="Escuelas Indígenas en México",
       subtitle = paste("total =", ind[[1]]),
       caption="datamarindo.blogspot.mx CC-by-SA") + theme_linedraw() +
  theme(plot.title=element_text(size=10))

Comentarios

Entradas más populares de este blog

Construyendo sobre otro post y la conjetura de Collatz y Escher, Gödel, Bach...

El estado de las cosas: QGIS vs ArcGIS

datos socioeconómicos y resultados electorales.