Capítulo 3 Variables parametrizadas al ejecutar
El siguiente texto ejemplifica la ejecución del código seleccionando la variable que se quiere estudiar
Los parámetros se seleccionan en la ejecución cómo se muestra en el video final
title: “Variable cartografiada”
author: “Claudia Guerrero S”
date: “07/02/2021”
output: html_document: df_print: paged pdf_document: default
params:
’#=======================#
’# Render Function: #
’#=======================#
estilo:
label: "Estilo"
value: jenks
input: select
choices: [pretty,equal,quantile,sd,kmeans,jenks,fisher]
varname:
label: "Variable"
value: P_60YMAS
input: select
choices: [POBTOT,POBFEM,POBMAS,P_0A2,P_0A2_F,P_0A2_M,P_3YMAS,P_3YMAS_F,P_3YMAS_M,P_5YMAS,P_5YMAS_F,P_5YMAS_M,P_12YMAS,P_12YMAS_F,P_12YMAS_M,P_15YMAS,P_15YMAS_F,P_15YMAS_M,P_18YMAS,P_18YMAS_F,P_18YMAS_M,P_3A5,P_3A5_F,P_3A5_M,P_6A11]
3.1 Código en el que se ejecuta el script maptwitter.Rmd
’```{r include=FALSE, echo = FALSE, ’message = FALSE, warning=FALSE} ’rmarkdown::render(“maptwitter.Rmd”, ’params = “ask”) #
’``` ## Código script maptwitter.Rmd
#knitr::opts_chunk$set(echo = FALSE)
#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")
#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
<-unique( variablescensales$mnemonico)
aprint(a)
## [1] "POBTOT" "POBFEM" "POBMAS" "P_0A2" "P_60YMAS"
#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_00CSV20.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
<-subset(censonalo,censonalo$NOM_LOC %in% c("Total de la Entidad"))
censonal
names(censonal)[1] <- "CVE_ENT"
#Ahora el mapa tiene el dato de las 198 variables del censo
#Conversión a número
<-substr(basemapan$CVE_ENT,1,2)
codent
="México"
latmx<-sprintf("%02d%s", as.numeric(gsub("[^0-9]+", "", codent)), gsub("[0-9]+", "", codent))
codent$CVE_ENT<-codent
censonal
= c(11:231)
cols
%<>% lapply(function(x) as.integer(as.character(x)))
censonal[,cols]
<-merge(basemapan,censonal, by="CVE_ENT", all.x =TRUE) basemapa
tmap_mode("plot")
<-case_when(
desc$estilo == "pretty" ~ "El estilo pretty redondea y divide en números enteros siempre que sea posible y los espacia uniformemente. \n \n ",
params$estilo == "equal" ~ "El estilo equal divide los valores en rangos de igual ancho \n \n ",
params$estilo == "quantile" ~ "El estilo quantile crea rangos con un igual número de poligonos (estados) \n \n ",
params$estilo == "sd" ~ "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 ",
params$estilo == "kmeans" ~ "El estilo kmeans utiliza la media de la variable y la usa como valor para el ancho de los rangos. \n \n ",
params$estilo == "jenks" ~ "El estilo jenks identifica grupos de valores similares y maximiza la diferencia entre categorías. \n \n ",
params$estilo == "fisher" ~ "El estilo fisher crea grupos con la máxima homogeneidad \n \n ")
params
glue(" \n## ",params$varname," \n \n ") %>% cat()
3.2 P_60YMAS
<-variablescensales[variablescensales$mnemonico == params$varname, "indicador"]
varindi<-variablescensales[variablescensales$mnemonico == params$varname, "descripcion"]
vardesc
::glue (" {varindi} \n\n") %>% cat() glue
Población de 60 años y más
glue("\n\n") ## one newline
::glue (" {desc} \n\n") %>% cat() glue
El estilo pretty redondea y divide en números enteros siempre que sea posible y los espacia uniformemente.
<-tm_shape(basemapa) +
mapitm_fill(params$varname,title=params$varname,legend.hist=TRUE ,n = 8,id="NOM_ENT",palette="RdYlBu",style=params$estilo) +
tm_borders()+
tm_layout(legend.outside = TRUE, legend.outside.position = "right")+
tm_layout(title = paste0({vardesc}, " censo 2020"), title.size = 0.5, title.position = c("right","bottom"))
mapi
#mapi<-tm_shape(basemapa) +
#tm_bubbles(size=params$varname,
#col= params$varname, style ="kmeans", n=6,
#palette ="RdYlBu",id="NOM_ENT")+
#tm_borders()
#mapi
tmap_mode("plot")
3.3 Video
Este proceso se detalla en el siguiente video