Presentamos GeoXp, un paquete de R que implementa gráficos interactivos para el análisis exploratorio de datos espaciales. Utilizamos un conjunto de datos sobre las escuelas públicas de la región francesa de Midi-Pyrenees para ilustrar el uso de estas técnicas exploratorias basadas en el acoplamiento entre un gráfico estadístico y un mapa.
Además de diagramas elementales como diagramas de caja, histogramas o diagramas de dispersión simples, GeoXp también combina mapas con diagramas de dispersión de Moran, nubes de variogramas, curvas de Lorenz y otras herramientas gráficas.
Para aprovechar al máximo la multidimensionalidad de los datos, GeoXp incluye técnicas de reducción de dimensiones como el análisis de componentes principales y el análisis de conglomerados cuyos resultados también están vinculados al mapa.
Este Pubs se basa en el articulo “GeoXp: An R Package for Exploratory Spatial Data Analysis” de la revista “Journal of Statistical Software”
Cargamos la libreria GeoXp, para la cual se hace necesario la previa instalación de Rtools y las librerias “quantreg,”rgl“,”spdep“,”rgeos“,”robustbas" y “splancs”. Llamamos la base de datos “mp.school” y visualizamos las variables que contiene.
library("GeoXp") #Cargamos la Libreria GeoXp
data("mp.school") #Cargamos la base de datos mp.school
names(mp.school) #visualizamos las variables de la base de datos
## [1] "longitude" "latitude" "name.city"
## [4] "index.rurality" "Nb.students" "Occupancy.rate"
## [7] "Cost.per.student" "Nb.students.per.class" "Freq.certifies"
## [10] "Freq.agreges" "Freq.rep.stud" "Nb.specialties"
## [13] "Teachers.age"
Las funciones de GeoXp se aplican al análisis de cualquier conjunto de datos de variables medidas en sitios geográficos o en zonas geográficas como ciudades, condados, países, etc., llamadas unidades espaciales básicas.
Los dos pasos consisten en crear primero un objeto SpatialPoints que solo contiene las coordenadas de las unidades espaciales y segundo en crear un objeto SpatialPoints DataFrame que contiene tanto el objeto SpatialPoints como el data.frame:
mp.school_coord <- cbind(mp.school$longitude, mp.school$latitude) # Asigna las variables longitud y latictud como coordanadas (x,y)
mp.school_sp <- SpatialPoints(mp.school_coord) #crea un objeto SpatialPoints que solo contiene las coordenadas de las unidades espaciales
mp.school_spdf <- SpatialPointsDataFrame(mp.school_sp, mp.school)# crea un objeto SpatialPoints DataFrame que contiene tanto el objeto SpatialPoints como el data.frame
plot(mp.school_sp, pch=1)
shp.file <- system.file("shapes/school.shp", package = "GeoXp")
mp_map <- rgdal::readOGR(shp.file)
## Warning in OGRSpatialRef(dsn, layer, morphFromESRI = morphFromESRI, dumpSRS =
## dumpSRS, : Discarded datum D_unknown in Proj4 definition: +proj=lcc +lat_0=46.8
## +lon_0=2.337229104484 +lat_1=45.90287723937 +lat_2=47.69712276063 +x_0=600000
## +y_0=2200000 +ellps=clrk80 +units=m +no_defs
## OGR data source with driver: ESRI Shapefile
## Source: "C:\Users\asus\Documents\R\win-library\4.0\GeoXp\shapes\school.shp", layer: "school"
## with 8 features
## It has 2 fields
mp.contour <- spdf2list(mp_map)
plot(mp_map,pch=1)
#vignette("presentation_geoxp")
histomap(mp.school_spdf,"Freq.agreges")