install.packages(“REAT”) Es una herramienta para realizar análisis económicos regionales. Proporciona una serie de funciones y métodos para analizar la desigualdad, la concentración, la especialización regional, las disparidades y convergencia regionales, el crecimiento regional, la interacción espacial y la accesibilidad.
Instalación de Paquetes
install.packages(“REAT”)
install.packpages(“spdep)
install.packpages(“gridExtra”)
install.packpages(“sp”) un paquete que proporciona clases y métodos para datos espaciales
install.packpages(“readxl”)
install.packpages(“RColorBrewer”) es una herramienta para crear paletas de colores de alta calidad, diseñadas para gráficos de datos
install.packpages(“RColorBrewer”)
install.packpages(“spdep”)
install.packpages(“leaflet”) es una herramienta para crear mapas interactivos en la web
install.packpages(“magrittr”) se utiliza para simplificar la manipulación de datos y la creación de gráficos.
install.packpages(“dplyr”) ggplot2
install.packpages(“ggplot2”) spatialEco
install.packpages(“spatialEco”) proporciona herramientas para el análisis ecológico espacial, específicamente diseñado para trabajar con datos raster y datos vectoriales.
install.packpages(“stargazer”)
install.packpages(“readr”)
install.packpages(“sf”) permite trabajar con datos geoespaciales vectoriales.
Para leer archivos shapes y transformarlo en objeto Shape y DataFrame:
setwd(“C:/Users/pajv2/OneDrive/Escritorio/TAREA Y EXAMEN AA U2/nxcantones_V2-20250608T013535Z-1-001 (2)/nxcantones_V2”)
setwd("C:/Users/pajv2/OneDrive/Escritorio/TAREA Y EXAMEN AA U2/nxcantones_V2-20250608T013535Z-1-001 (2)/nxcantones_V2")library(spdep)
Cargando paquete requerido: spData
To access larger datasets in this package, install the spDataLarge
package with: `install.packages('spDataLarge',
repos='https://nowosad.github.io/drat/', type='source')`
Cargando paquete requerido: sf
Linking to GEOS 3.13.1, GDAL 3.11.0, PROJ 9.6.0; sf_use_s2() is TRUE
shape_canton <-st_read("NXCantones.shp")
Reading layer `NXCantones' from data source
`C:\Users\pajv2\OneDrive\Escritorio\TAREA Y EXAMEN AA U2\nxcantones_V2-20250608T013535Z-1-001 (2)\nxcantones_V2\NXCantones.shp'
using driver `ESRI Shapefile'
Simple feature collection with 221 features and 12 fields
Geometry type: MULTIPOLYGON
Dimension: XY
Bounding box: xmin: -732143.5 ymin: 9445216 xmax: 1147852 ymax: 10189400
Projected CRS: WGS 84 / UTM zone 17S
D_R D_R_B D_R_A DPA_VALOR
Length:221 Length:221 Length:221 Min. :0
Class :character Class :character Class :character 1st Qu.:0
Mode :character Mode :character Mode :character Median :0
Mean :0
3rd Qu.:0
Max. :0
DPA_ANIO DPA_CANTON ID_CANTON DPA_DESCAN
Length:221 Length:221 Min. : 101 Min. : NA
Class :character Class :character 1st Qu.: 704 1st Qu.: NA
Mode :character Mode :character Median :1107 Median : NA
Mean :1100 Mean :NaN
3rd Qu.:1411 3rd Qu.: NA
Max. :2403 Max. : NA
NA's :221
DPA_PROVIN DPA_DESPRO CODIGO CANTON
Length:221 Length:221 Min. : 101 Length:221
Class :character Class :character 1st Qu.: 704 Class :character
Mode :character Mode :character Median :1106 Mode :character
Mean :1093
3rd Qu.:1410
Max. :2403
geometry
MULTIPOLYGON :221
epsg:32717 : 0
+proj=utm ...: 0
Warning: st_centroid assumes attributes are constant over geometries
Creo un objeto con una matriz de los puntos de los 5 vecinos
vc_k5 <-knn2nb(knearneigh(coords_centroides, k =5))
print(coords_centroides)
Simple feature collection with 221 features and 2 fields
Geometry type: POINT
Dimension: XY
Bounding box: xmin: -643716.7 ymin: 9463821 xmax: 1070598 ymax: 10110140
Projected CRS: WGS 84 / UTM zone 17S
First 10 features:
D_R D_R_B geometry
1 <NA> <NA> POINT (697860 9683563)
2 <NA> <NA> POINT (704541.8 9648385)
3 <NA> <NA> POINT (747169 9677155)
4 <NA> <NA> POINT (709009.6 9631756)
5 <NA> <NA> POINT (751048.5 9695427)
6 <NA> <NA> POINT (663618.7 9647021)
7 <NA> <NA> POINT (692468.1 9653579)
8 <NA> <NA> POINT (681845.5 9645897)
9 <NA> <NA> POINT (738510.3 9653811)
10 <NA> <NA> POINT (707668.6 9614130)
Creo una matriz de pesos espaciales w
Una matriz de pesos espaciales (también conocida como matriz W) es una representación matemática de las relaciones espaciales entre diferentes entidades en un conjunto de datos. Esta matriz se utiliza en diversos análisis espaciales para representar cómo una unidad geográfica afecta a sus vecinos.
Graficar los vecinos de la matriz de pesos espaciales
library(ggplot2)plot(vc_k5, st_coordinates(coords_centroides), col ="blue", pch =8, cex =0.1)
Análisis La malla de vecindad espacial construida con los cinco cantones más cercanos a cada uno (K = 5) refleja una conectividad homogénea entre los territorios. Esto significa que todos los cantones están vinculados con sus cinco vecinos inmediatos, logrando así una distribución equilibrada en todo el país. Esta configuración asegura que ningún cantón quede excluido del análisis espacial y que la matriz de pesos espaciales (W) abarque de forma adecuada todo el territorio nacional. No obstante, es importante señalar que el hecho de tener una buena conectividad visual entre cantones no implica necesariamente la existencia de autocorrelación espacial entre las variables analizadas..
Agregar los enlaces de los vecinos a los centroides
library(ggplot2)plot(wk5, coords =st_coordinates(coords_centroides), col ="red")
Análisis:
Se visualizan las relaciones de proximidad definidas por la matriz W, en la cual cada cantón se conecta con sus cinco vecinos más próximos. Esto genera una red de enlaces densa y bien distribuida, que abarca incluso áreas remotas como Galápagos. De esta manera, se garantiza que el análisis espacial sea sólido y que todas las regiones estén representadas en la evaluación de los patrones espaciales.
Mostrar centroides
library(ggplot2)library(sf)geom <-st_geometry(shape_canton)centroides <-st_centroid(geom)plot(geom, border ="black", col =rgb(1, 1, 0, alpha =0))points(st_coordinates(centroides), col ="red", pch =20, cex =1)
La gráfica muestra puntos rojos por cantón, que corresponde al centroide o punto geométrico central de cada cantón. Identificados para resumir la ubicación de cada cantón en un solo punto.
##Datos transpuesto para sacar índices de Moran anuales
Classes 'sf' and 'data.frame': 221 obs. of 13 variables:
$ D_R : chr NA NA NA NA ...
$ D_R_B : chr NA NA NA NA ...
$ D_R_A : chr NA NA NA NA ...
$ DPA_VALOR : int 0 0 0 0 0 0 0 0 0 0 ...
$ DPA_ANIO : chr "2011" "2011" "2011" "2011" ...
$ DPA_CANTON: chr "0101" "0102" "0103" "0104" ...
$ ID_CANTON : int 101 102 103 104 105 106 107 108 109 110 ...
$ DPA_DESCAN: num NA NA NA NA NA NA NA NA NA NA ...
$ DPA_PROVIN: chr "01" "01" "01" "01" ...
$ DPA_DESPRO: chr "AZUAY" "AZUAY" "AZUAY" "AZUAY" ...
$ CODIGO : num 101 102 103 104 105 106 107 108 109 110 ...
$ CANTON : chr "Cuenca" "Giron" "Gualaceo" "Nabon" ...
$ geometry :sfc_MULTIPOLYGON of length 221; first list element: List of 1
..$ :List of 1
.. ..$ : num [1:8046, 1:2] 678670 678671 678671 678675 678695 ...
..- attr(*, "class")= chr [1:3] "XY" "MULTIPOLYGON" "sfg"
- attr(*, "sf_column")= chr "geometry"
- attr(*, "agr")= Factor w/ 3 levels "constant","aggregate",..: NA NA NA NA NA NA NA NA NA NA ...
..- attr(*, "names")= chr [1:12] "D_R" "D_R_B" "D_R_A" "DPA_VALOR" ...
NULL
Moran I test under randomisation
data: datosmoran$P_Ocupada
weights: wk5
Moran I statistic standard deviate = 0.79086, p-value = 0.2145
alternative hypothesis: greater
sample estimates:
Moran I statistic Expectation Variance
0.0191672234 -0.0045454545 0.0008989982
Análisis El análisis del índice de Moran revela que los niveles de ocupación en los cantones analizados no presentan un patrón espacial significativo. El valor del índice (0.0192) es muy cercano a cero, lo que indica una autocorrelación espacial prácticamente nula, es decir, los niveles de ocupación parecen distribuirse de manera aleatoria en el territorio. Esto se ve reforzado por el valor del p (0.21), que supera ampliamente el umbral convencional de 0.05, lo que implica que cualquier posible agrupación observada podría ser producto del azar y no de una relación espacial real.
Aunque el índice muestra una ligera tendencia positiva, esta no es lo suficientemente marcada como para concluir que exista un patrón de concentración o similitud espacial entre cantones vecinos. En resumen, no se puede afirmar que existan zonas geográficas en las que los cantones cercanos compartan niveles similares de ocupación; más bien, estos parecen distribuirse sin un orden espacial evidente.
Análisis: En el presente análisis, se han marcado en el mapa los cantones solicitados como puntos de referencia. Esta representación facilita la identificación visual de su ubicación dentro del contexto nacional o regional, permitiendo observar de manera clara en qué parte del país se encuentran, cómo se distribuyen entre sí y qué relación espacial guardan con otras ciudades importantes. Esta visualización es un insumo fundamental para complementar análisis más profundos sobre temas como desarrollo económico, niveles de ocupación, movilidad, accesibilidad o planificación territorial.
Conectar puntos con líneas (ejemplo con coordenadas Guayaquil -Zamora)
library(leaflet)leaflet() %>%addTiles() %>%addPolylines(lng =c(-79.897453, -78.95488), lat =c(-2.203816, -4.06685), color ="red", weight =2)
Análisis
Los mapas que conectan puntos con líneas nos permiten visualizar las relaciones directas entre territorios, como trayectorias o enlaces funcionales entre cantones, en este caso entre Guayaquil y Zamora.
Crear mapa de calor (con puntos de ejemplo)
library(leaflet.extras)coords <-data.frame(lon =c(-78.95488, -79.897453 , -78.61675), lat =c(-4.06685, -2.203816, -1.24908), intensity =c(300, 900, 600))leaflet() %>%addTiles() %>%addHeatmap(data = coords, lat =~lat, lng =~lon, intensity =~intensity, blur =5, max =1)
Análisis
Los mapas de calor con puntos fijos nos permiten identificar zonas de alta concentración o intensidad de una variable, como la cantidad de empleo o áreas con fuerte potencial económico. En este caso se analiza la intencidad de personas ocupadas en los cantones de Zamora, Guayaquil y Ambato, observando que entre Guayaquil, Ambato y Zamora, Guayaquil es quien tine mayor concentración de personas ocupadas.
Otro mapa de calor
Paleta de colores basada en la variable ‘P_Desocupada’
Mapa de coropletas con ggplot2 (color por variable continua)
library(ggplot2)ggplot(data = shape_canton) +geom_sf(aes(fill = shape_canton$P_Desocupada)) +scale_fill_viridis_c() +theme_minimal() +labs(title ="Índice de Productividad por Cantón")
Crear mapa con capas de diferentes variables
library(ggplot2)ggplot(data = shape_canton) +geom_sf(aes(fill = P_Ocupada)) +geom_sf(data = shape_canton, aes(fill = P_Ocupada), color ="white", size =0.5) +scale_fill_viridis_c() +theme_minimal() +labs(title ="Mapa con Capas de Diferentes Variables")
library(ggplot2)ggplot(data = shape_canton) +geom_sf(aes(fill = P_Ocupada)) +geom_sf(data = shape_canton, aes(fill = P_Ocupada), color ="white", size =0.5) +scale_fill_viridis_c() +theme_minimal() +labs(title ="Mapa con Capas de Diferentes Variables")