Riesgo de despoblamiento en la Comunidad Valenciana
DESPOBLAMIENTO
RENTA
DESEMPLEO
COMUNIDAD VALENCIANA
GPKG
Autor/a
Afiliación
Martín Prieto Sánchez
Universitat de València
Fecha de publicación
10 de mayo de 2024
Input
En primer lugar, hemos obtenido a través del portal de datos abiertos de la Generalitat Valenciana el conjunto de datos con las variables demográficas a partir de las cuáles se ha concluido el nivel de riesgo de despoblamiento en el que se encuentra cada municipio.
En segundo lugar, hemos obtenido del Instituto Nacional de Estadística (INE) el conjunto de datos con los indicadores de renta media por persona, por municipio, para cada una de las provincias de la Comunidad Valenciana (Castellón, Valencia y Alicante) en 2021.
Por último, hemos obtenido los datos del INE de población por municipios de las 3 provincias de la Comunidad Valenciana en 2021 y de los datos del Servicio Público de Empleo Estatal (SEPE) que nos muestran el número total de parados por municipio para cada provincia en el primer semestre de 2021.
Fuente de Datos: La recogida de datos de renta se realiza a partir de peticiones anuales estandarizadas a las distintas agencias tributarias colaboradoras.
Objetivo: Proporcionar información sobre el nivel y la distribución de la renta de la población.
Variables Demográficas:
Sexo
Edad
Nacionalidad
Niveles Territoriales:
Secciones Censales
Distritos
Municipios (en nuestro caso nos centraremos en los municipios de la Comunidad Valenciana)
Islas
Provincias
Comunidades Autónomas
Licencia: Creative Commons (Reconocimiento 4.0).
Formato: Excel file, .xlsx.
Población por municipio
Fuente de Datos: Padrón Municipal.
Fecha de Publicación: 1 de enero de cada año.
Proceso de Aprobación: Las cifras de población son aprobadas por el Gobierno mediante un Real Decreto.
Procedimiento de Obtención de las Cifras Oficiales:
Coordinación de los padrones municipales.
Aplicación del procedimiento establecido en la Resolución de 20 de julio de 2018 de la Presidencia del Instituto Nacional de Estadística y de la Dirección General de Cooperación Autonómica y Local.
Licencia: Creative Commons (Reconocimiento 4.0).
Formato: Excel file, .xlsx.
Paro registrado por municipios
Publicador: Servicio Público de Empleo Estatal (SEPE), perteneciente al Ministerio de Trabajo y Economía Social.
Nivel de Administración: Administración del Estado.
Descripción: Estos datos estadísticos proporcionan información sobre el número de personas registradas como desempleadas en el SEPE, desglosadas por los siguientes criterios:
Para el primer conjunto de datos sobre el riesgo de despoblamiento hemos tenido que recategorizar la variable principal a analizar (nivel de riesgo de despoblamiento) para que las categorías estuviesen representadas en formato numérico y poder trabajar con ellas en los posteriores análisis. También hemos tenido que seleccionar en excel solo las filas correspondientes a los municipios.
En segundo lugar, hemos unido con la herramienta Excel los 3 conjuntos de datos sobre la renta media por persona de cada provincia de la Comunidad Valenciana y los hemos dispuesto en un formato correcto para poder trabajar con ellos a posteriori.
Por último, hemos creado nuestro propio conjunto de datos a partir de los datos del INE de población por municipios y del SEPE que nos muestran el número total de parados por municipio por provincia (hemos tenido que seleccionar solo los municipios de la Comunidad Valenciana). A partir de ahí, utilizando de nuevo Excel, hemos trabajado los datasets para que estuviesen en el formato adecuado y hemos calculado la tasa de parados en relación a la población total de cada municipio.
Una vez obtenido los datos con todas las variables de interés para nuestro estudio, los hemos unido para obtener un único dataset. Para ello hemos tenido que realizar operaciones básicas de transformación, como eliminar, cambiar de nombre y transformar variables al formato adecuado para poder trabajar con ellas. Además, hemos añadido nuevas variables que corresponden con intervalos determinados de cada variable, además de colores para cada intervalo, para que a la hora de trabajar gráficamente y/o con mapas, sea más fácil de representar este conjunto de datos espaciales.
#RIESGO DE DESPOBLAMIENTO#Leemos los datosdespoblamiento_municip<-sf::st_read("data/despobl/despoblamiento0.shp")
Reading layer `despoblamiento0' from data source
`C:\Users\Virgilio\OneDrive - Universitat de València\01 PROFESOR\06 Innovación Educativa\2023 2024\03 Web\datasets\data\despobl\despoblamiento0.shp'
using driver `ESRI Shapefile'
Simple feature collection with 542 features and 17 fields
Geometry type: MULTIPOLYGON
Dimension: XY
Bounding box: xmin: 626576.4 ymin: 4190827 xmax: 815520.5 ymax: 4519161
Projected CRS: ETRS89 / UTM zone 30N
#Recategorizamos la variable para que tenga valores numéricosdespoblamiento_municip<-despoblamiento_municip%>%mutate(niv_riesgo_num =case_when(niv_riesgo=="Sense risc"~0,niv_riesgo=="Moderat"~1,niv_riesgo=="Alt"~2,niv_riesgo=="Molt alt"~3,TRUE~NA_integer_))#RENTA MEDIA#Leemos los datosRenta_Media_Comunidad_Valenciana<-readxl::read_xlsx("data/despobl/Renta_Media_Comunidad_Valenciana.xlsx")#Separamos en dos columnas la variable Municipio que contiene el código y el nombreRenta_Media_Comunidad_Valenciana$Cod_Mun<-substring(Renta_Media_Comunidad_Valenciana$Municipio, 1, regexpr(" ", Renta_Media_Comunidad_Valenciana$Municipio)-1)Renta_Media_Comunidad_Valenciana$Municipio<-substring(Renta_Media_Comunidad_Valenciana$Municipio, regexpr(" ", Renta_Media_Comunidad_Valenciana$Municipio)+1)#Reemplazamos los valores que tienen "." por NAs en la variable "renta_media"Renta_Media_Comunidad_Valenciana$Renta_Media<-ifelse(Renta_Media_Comunidad_Valenciana$Renta_Media==".", NA, Renta_Media_Comunidad_Valenciana$Renta_Media)#Transformamos la variable en numéricaRenta_Media_Comunidad_Valenciana$Renta_Media<-as.numeric(Renta_Media_Comunidad_Valenciana$Renta_Media)#Calculamos la media de la variable "Renta_Media"media_renta<-mean(Renta_Media_Comunidad_Valenciana$Renta_Media, na.rm =TRUE)#Reemplazamos los NAS en "Renta_Media" con la media calculadaRenta_Media_Comunidad_Valenciana$Renta_Media[is.na(Renta_Media_Comunidad_Valenciana$Renta_Media)]<-media_renta#DESEMPLEO#Leemos los datos y separamos en dos columnas la variable MunicipioDesempleo_Comunidad_Valenciana<-readxl::read_xlsx("data/despobl/Desempleo_Comunidad_Valenciana.xlsx")Desempleo_Comunidad_Valenciana$Cod_Mun<-substring(Desempleo_Comunidad_Valenciana$Municipio, 1, regexpr(" ", Desempleo_Comunidad_Valenciana$Municipio)-1)Desempleo_Comunidad_Valenciana$Municipio<-substring(Desempleo_Comunidad_Valenciana$Municipio, regexpr(" ", Desempleo_Comunidad_Valenciana$Municipio)+1)#Unimos ambos datasetsRenta_Media_y_Desempleo_CV<-merge(Renta_Media_Comunidad_Valenciana, Desempleo_Comunidad_Valenciana, by ="Cod_Mun")#Eliminamos la variable Municipio.yRenta_Media_y_Desempleo_CV$Municipio.y<-NULL#Cambiamos el nombre de la variable Municipio.x a Municipionames(Renta_Media_y_Desempleo_CV)[names(Renta_Media_y_Desempleo_CV)=="Municipio.x"]<-"Municipio"#Creamos el dataset completo con todas las variables y la información espacialCV_completo<-merge(Renta_Media_y_Desempleo_CV, despoblamiento_municip, by.x ="Cod_Mun", by.y ="id_mun")#Eliminamos las variables innecesariasCV_completo<-subset(CV_completo, select =-c(comarca, municipio_, perc_agric, p_sup_agr, dens_empr, shape_Leng, shape_Area))#Convertimos a objeto sf y ajustamos al CRS necesarioCV_completo<-st_as_sf(CV_completo)CV_completo<-sf::st_transform(CV_completo, crs =st_crs("+proj=longlat +datum=WGS84"))#Creamos intervalos de población, renta y "tasa de desempleo" CV_completo$intervalos_poblacion<-cut(CV_completo$Poblacion, breaks =c(0, 1000, 5000, 10000, 50000, 100000, Inf), labels =c("-mil habitantes", "mil a 5mil", "5mil a 10mil", "10mil a 50mil", "50mil a 100mil", "+100mil"), include.lowest =T)# Calcula el ancho del intervaloancho_intervalo<-(19046-7866)/4# Genera los puntos de cortepuntos_corte<-seq(7866, 19046, by =ancho_intervalo)# Agrega el último punto de corte si no coincide exactamente con el límite superiorif(tail(puntos_corte, n =1)!=19046){puntos_corte<-c(puntos_corte, 19046)}# Crea los intervalos y asigna etiquetasCV_completo$intervalos_renta<-cut(CV_completo$Renta_Media, breaks =round(puntos_corte, 2), labels =paste0(head(round(puntos_corte, 2), -1), "€-", tail(round(puntos_corte, 2), -1), "€"), include.lowest =TRUE)CV_completo$intervalos_desempleo<-cut(CV_completo$Tasa, breaks =c(0, 0.0625, 0.125, 0.1875, 0.25), labels =c("0%-6.25%", "6.25%-12.5%", "12.5%-18.75%", "18.75%-25%"), include.lowest =T)#Paleta de colorescolores4<-colorRampPalette(c("white", "red"))(4)colores6<-colorRampPalette(c("white", "red"))(6)#Asignamos colores a cada intervalocolor_por_riesgo<-colorFactor(colores4, domain =CV_completo$niv_riesgo_num)CV_completo$color_poblacion<-colores6[(CV_completo$intervalos_poblacion)]CV_completo$color_renta<-colores4[(CV_completo$intervalos_renta)]CV_completo$color_desempleo<-colores4[(CV_completo$intervalos_desempleo)]
#Guardar el conjunto de datos completost_write(CV_completo, "data/datos_despoblamiento_CV.gpkg", driver="GPKG")
Output
El conjunto de datos resultante de la unión de múltiples fuentes ofrece una visión integral de la dinámica demográfica y laboral en los municipios de la Comunidad Valenciana y ofrece una comprensión más completa de los desafíos socioeconómicos en cada municipio, facilitando la identificación de patrones y tendencias. Por ejemplo, se pueden examinar cómo el nivel de desempleo varía según la estructura demográfica de una población, o cómo el riesgo de despoblamiento afecta al mercado laboral local. Esta integración de datos proporciona una base sólida para el diseño e implementación de políticas públicas orientadas a abordar los desequilibrios regionales y promover el desarrollo económico y social en todo el país.
El dataset queda disponible para su descarga aquí.
Comprobamos que los datos se hayan guardado correctamente:
CV_completo_final<-st_read("data/despobl/datos_despoblamiento_CV.gpkg", quiet=T)mapa_despoblamiento<-leaflet(data =CV_completo_final)%>%addTiles()%>%addPolygons(fillColor =~color_por_riesgo(niv_riesgo_num), fillOpacity =0.7, color ="black", weight =1, label =~paste0(Municipio, ", nivel de riesgo: ", niv_riesgo))%>%setView(lng =-0.37739, lat =39.46975, zoom =7)%>%addLegend(position ="bottomright", pal =color_por_riesgo, values =~niv_riesgo_num, title ="Nivel de Riesgo")mapa_despoblamiento