El Marco Geoestadístico es un sistema único y de carácter nacional diseñado por el INEGI, el cual presenta la división del territorio nacional en diferentes niveles de desagregación para referir geográficamente la información estadística de los censos y encuestas institucionales y de las Unidades del Estado, que se integra al Sistema Nacional de Información Estadística y Geográfica (SNIEG).
https://inegi.org.mx/temas/mg/#Descargas
Contenido
Mapa con las coordenadas estatles. Marco Geoestadístico, septiembre 2019 2019 3.11 GB https://inegi.org.mx/contenidos/productos//prod_serv/contenidos/espanol/bvinegi/productos/geografia/marcogeo/889463776079_s.zip
Ficha de información. https://inegi.org.mx/app/biblioteca/ficha.html?upc=889463776079
Los nombres de archivos se conforman con las claves 00 y la capa con sufijos descriptivos del contenido del archivo: Donde: 00ent Polígonos de Áreas Geoestadísticas Estatales 00mun Polígonos de Áreas Municipales 00a Polígonos de Áreas Geoestadísticas Básicas Urbanas y Rurales 00l Polígonos de Localidades Urbanas y Rurales amanzanadas 00lpr Puntos de Localidades Rurales amanzanadas y no amanzanadas
Marco Geoestadístico. Censo de Población y Vivienda 2020 2020 2.65 GB https://inegi.org.mx/contenidos/productos//prod_serv/contenidos/espanol/bvinegi/productos/geografia/marcogeo/889463807469_s.zip Ficha de información https://inegi.org.mx/app/biblioteca/ficha.html?upc=889463807469
Se descarga y se descomprime localmente Se crea una carpeta para los datos geográficos
#La ruta para el mapa de México se toma del Marcogeostadístico nacional
rutam<-"D:/Documents/Claudia/Midropbox/Investigacion y escritos/Marcogeoestadisticonacional/mg_sep2019_integrado/conjunto_de_datos"
basemapan <- readOGR(rutam,"00ent", use_iconv = TRUE, encoding = "latin1")
## OGR data source with driver: ESRI Shapefile
## Source: "D:\Documents\Claudia\Midropbox\Investigacion y escritos\Marcogeoestadisticonacional\mg_sep2019_integrado\conjunto_de_datos", layer: "00ent"
## with 32 features
## It has 3 fields
#La ruta para el archivo que tiene las variables censales y su descripción
rutvar<-"D:/Documents/Claudia/Midropbox/Investigacion y escritos"
variablescensales<-read.csv(paste0(rutvar,"/Censo2020/","variablescensales.csv"),header=TRUE, sep=",",encoding="UTF-8")
## Importación de datos cartográficos
En el sitio del INEGI se encuentran los resultados del CENSO 2020 para cada una de las entidades de la población https://www.inegi.org.mx/programas/ccpv/2020/default.html#Datos_abiertos
Principales resultados por localidad (ITER) Estados Unidos Mexicanos 2020
https://www.inegi.org.mx/contenidos/programas/ccpv/2020/datosabiertos/iter/iter_00_cpv2020_csv.zip
Para recuperar los datos censales a nivel estatal:
En el archivo se registra la población total de la entidad cuando en el nombre de la localidad aparece la leyenda “Total de la Entidad”
url<-paste0("https://www.inegi.org.mx/contenidos/programas/ccpv/2020/datosabiertos/iter/iter_00_cpv2020_csv.zip")
temp <- tempfile()
temp2 <- tempfile()
download.file(url, temp)
unzip(zipfile = temp, exdir = temp2)
rut<-file.path(temp2)
censonal<- read.csv(paste0(rut,"/","conjunto_de_datos/conjunto_de_datos_iter_00_cpv2020.csv"),header=TRUE, sep=",",encoding="UTF-8")
#Datos de toda la entidad uso del campo nom_loc para identificar los valores de las variables a nivel estatal
censonal <-subset(censonal,censonal$NOM_LOC %in% c("Total de la Entidad"))
names(censonal)[1] <- "CVE_ENT"
#Ahora el mapa tiene el dato de las 198 variables del censo
#Conversión a número
codent<-substr(basemapan$CVE_ENT,1,2)
latmx="México"
codent<-sprintf("%02d%s", as.numeric(gsub("[^0-9]+", "", codent)), gsub("[0-9]+", "", codent))
censonal$CVE_ENT<-codent
cols = c(11:231)
censonal[,cols] %<>% lapply(function(x) as.integer(as.character(x)))
basemapa<-merge(basemapan,censonal, by="CVE_ENT", all.x =TRUE)
Valores por default
glue(" \n## params$varname \n \n ") %>% cat()
## ## params$varname
##
varindi<-variablescensales[variablescensales$mnemonico == params$varname, "indicador"]
vardesc<-variablescensales[variablescensales$mnemonico == params$varname, "descripcion"]
glue::glue (" {varindi} \n ") %>% cat()
## Población de 60 años y más
glue("El estilo pretty redondea y divide en números enteros siempre que sea posible y los espacia uniformemente. \n \n ") %>% cat()
## El estilo pretty redondea y divide en números enteros siempre que sea posible y los espacia uniformemente.
##
tm_shape(basemapa) +
tm_polygons(params$varname)
glue("El estilo quantile crea rangos con un igual número de poligonos (estados) \n \n ") %>% cat()
## El estilo quantile crea rangos con un igual número de poligonos (estados)
##
tm_shape(basemapa) +
tm_fill(params$varname,palette=c("yellow","orange","red","green","blue"), style ="quantile")+
tm_borders()+
tm_layout(legend.position = c("right", "bottom"))
glue("El estilo fisher crea grupos con la máxima homogeneidad \n \n ") %>% cat()
## El estilo fisher crea grupos con la máxima homogeneidad
##
tm_shape(basemapa) +
tm_fill(params$varname,palette="YlOrRd", style ="fisher")+
tm_borders()+
tm_layout(legend.outside = FALSE, legend.outside.position = "right",inner.margins = c(0.06, 0.10, 0.10, 0.08))
glue("El estilo equal divide los valores en rangos de igual ancho \n \n ") %>% cat()
## El estilo equal divide los valores en rangos de igual ancho
##
tm_shape(basemapa) +
tm_fill(params$varname,palette="YlOrRd", style ="equal")+
tm_borders()+
tm_layout(legend.outside = TRUE, legend.outside.position = "right")
glue("El fixed divide los valores en rangos de igual ancho \n \n ") %>% cat()
## El fixed divide los valores en rangos de igual ancho
##
tm_shape(basemapa) +
tm_fill(params$varname,palette="Blues", style ="fixed",breaks = c(100000,200000,300000,400000,500000, 600000,700000, 800000))+
tm_borders()
tmap_mode("plot")
tm_shape(basemapa) +
tm_fill(params$varname,title={varindi},legend.hist=TRUE ,n = 8) +
tm_borders()+
tm_layout(legend.outside = TRUE, legend.outside.position = "right")+
tm_layout(title = paste0({vardesc}, " censo 2020"), title.size = 0.8, title.position = c("right","bottom"))
#tmap_mode("view")
glue("El estilo sd calcula la desviación estándar de la variable y la usa como valor para el ancho de los rangos. \n \n ") %>% cat()
## El estilo sd calcula la desviación estándar de la variable y la usa como valor para el ancho de los rangos.
##
tm_shape(basemapa) +
tm_fill(params$varname,title={varindi},alpha=0.7,style="sd",palette="Blues",id="NOM_ENT") +
tm_borders() +
tm_basemap(server="OpenStreetMap",alpha=0.5)+
tm_layout(legend.outside = FALSE, legend.outside.position = "right",inner.margins = c(0.06, 0.10, 0.10, 0.08))
glue("El estilo kmeans utiliza la media de la variable y la usa como valor para el ancho de los rangos. \n \n ") %>% cat()
## El estilo kmeans utiliza la media de la variable y la usa como valor para el ancho de los rangos.
##
tm_shape(basemapa) +
tm_fill(params$varname,title={varindi},alpha=0.7,style="kmeans",palette="Blues",id="NOM_ENT") +
tm_borders() +
tm_basemap(server="OpenStreetMap",alpha=0.5)+
tm_layout(legend.outside = TRUE, legend.outside.position = "right")
glue(" \n## params$varname \n \n ") %>% cat()
## ## params$varname
##
varindi<-variablescensales[variablescensales$mnemonico == params$varname, "indicador"]
vardesc<-variablescensales[variablescensales$mnemonico == params$varname, "descripcion"]
glue::glue (" {varindi} \n ") %>% cat()
## Población de 60 años y más
tm_shape(basemapa) +
tm_bubbles(size=params$varname,
col= params$varname, style ="kmeans", n=6,
palette ="RdYlBu",id="NOM_ENT")+
tm_borders()
tmap_mode("plot")
basic.stats <- function(dset, vars){
for(i in 1:length(vars)){
print(vars[i])
gg<-ggplot(data=dset, aes(x = dset$NOM_ENT, y = dset[[vars[i]]])) + coord_flip()+
geom_bar(stat="identity", fill = "#FF6666") +
ylab(params$varname) +
xlab("")
print(gg)
print(summary(dset[[vars[i]]]))
print(quantile(dset[[vars[i]]],c(0,.01,.1,.5,.9,.99,1)))
}
}
basic.stats(censonal, c(params$varname))
## [1] "P_60YMAS"
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 75608 207053 370451 473218 563358 1919454
## 0% 1% 10% 50% 90% 99% 100%
## 75608.00 80552.19 132484.40 370450.50 973718.40 1786825.15 1919454.00
#<https://www.r-bloggers.com/2019/10/map-coloring-the-color-scale-styles-available-in-the-tmap-package/>