El Rpbs consiste en comentar el codigo visto en clase. El script tiene como objetivo la lectura de datos espaciales y sobre el procesar y analizar los datos tomando la base de datos
Cargamos la libreria GWmodel, y la base de datos DubVoter (Datos de participación de votantes y personajes sociales en el Gran DublĆn para las elecciones generales de 2002 y el censo de 2002. Tenga en cuenta que originalmente se pensó que este conjunto de datos se relacionaba con 2004, por lo que para la continuidad hemos retenido los nombres de las variables asociadas. )
Se ilustra el cƔlculo de las medidas locales usando un conjunto de datos espaciales que trae por defecto el paquete GWmodel de R.
library(GWmodel) #Instalar GWmodel (modelos geograficamentes ponderados)
## Loading required package: maptools
## Loading required package: sp
## Checking rgeos availability: TRUE
## Loading required package: robustbase
## Loading required package: Rcpp
## Loading required package: spatialreg
## Loading required package: spData
## To access larger datasets in this package, install the spDataLarge
## package with: `install.packages('spDataLarge',
## repos='https://nowosad.github.io/drat/', type='source')`
## Loading required package: Matrix
## Registered S3 methods overwritten by 'spatialreg':
## method from
## residuals.stsls spdep
## deviance.stsls spdep
## coef.stsls spdep
## print.stsls spdep
## summary.stsls spdep
## print.summary.stsls spdep
## residuals.gmsar spdep
## deviance.gmsar spdep
## coef.gmsar spdep
## fitted.gmsar spdep
## print.gmsar spdep
## summary.gmsar spdep
## print.summary.gmsar spdep
## print.lagmess spdep
## summary.lagmess spdep
## print.summary.lagmess spdep
## residuals.lagmess spdep
## deviance.lagmess spdep
## coef.lagmess spdep
## fitted.lagmess spdep
## logLik.lagmess spdep
## fitted.SFResult spdep
## print.SFResult spdep
## fitted.ME_res spdep
## print.ME_res spdep
## print.lagImpact spdep
## plot.lagImpact spdep
## summary.lagImpact spdep
## HPDinterval.lagImpact spdep
## print.summary.lagImpact spdep
## print.sarlm spdep
## summary.sarlm spdep
## residuals.sarlm spdep
## deviance.sarlm spdep
## coef.sarlm spdep
## vcov.sarlm spdep
## fitted.sarlm spdep
## logLik.sarlm spdep
## anova.sarlm spdep
## predict.sarlm spdep
## print.summary.sarlm spdep
## print.sarlm.pred spdep
## as.data.frame.sarlm.pred spdep
## residuals.spautolm spdep
## deviance.spautolm spdep
## coef.spautolm spdep
## fitted.spautolm spdep
## print.spautolm spdep
## summary.spautolm spdep
## logLik.spautolm spdep
## print.summary.spautolm spdep
## print.WXImpact spdep
## summary.WXImpact spdep
## print.summary.WXImpact spdep
## predict.SLX spdep
## Welcome to GWmodel version 2.2-3.
## The new version of GWmodel 2.2-4 now is ready
##
## Attaching package: 'GWmodel'
## The following objects are masked from 'package:stats':
##
## BIC, fitted
data(DubVoter) #cargamos la base de datos
class(Dub.voter) #clase de la base de datos
## [1] "SpatialPolygonsDataFrame"
## attr(,"package")
## [1] "sp"
Vemos que esta reconocido como un objeto espacial
Se implementa la base de datos āDubVoterā, la observamos y vemos sus dimensiones:
head(Dub.voter) #muestra las primeras 5 observaciones
## DED_ID X Y DiffAdd LARent SC1 Unempl LowEduc
## 0 2001 314791.7 235244.0 22.08633 16.208791 8.561151 8.009709 0.600000
## 1 2002 314417.8 234933.8 23.59987 22.388060 7.898996 12.126156 0.585586
## 2 2003 314253.1 234162.9 33.51579 75.438596 10.610526 8.940201 0.522648
## 3 2004 313676.5 234506.9 13.95918 37.298637 5.469388 15.185602 0.698758
## 4 2005 313956.8 234737.3 13.88697 13.615870 6.960717 13.021807 0.579581
## 5 2006 311883.4 236758.4 6.49846 1.668255 6.043714 2.882353 0.193632
## Age18_24 Age25_44 Age45_64 GenEl2004
## 0 24.17266 39.56835 12.302158 48.89135
## 1 21.88411 45.48398 15.118161 41.01094
## 2 28.04210 49.68421 9.389474 45.03546
## 3 14.66667 39.29252 16.571429 52.61682
## 4 11.95727 38.04273 19.469331 57.30868
## 5 11.88206 33.87120 17.001614 65.60935
dim(Dub.voter) #muestra la dimensiòn
## [1] 322 12
?Dub.voter
## starting httpd help server ... done
DubVoter es una base de datos de las sustancias del suelo con 322 obsv. 12 variables (contando el ID)
Ahora, utilizamos la función gwss (necesita el objeto espacial, la variable a trabajar, kernel, ancho de banda, p=2 hace referencia a la distancia euclidiana:
a gwss se le asigna un nombre (variable)
medidas=gwss(Dub.voter, vars = c('GenEl2004','LARent','Unempl'),kernel="bisquare",adaptive=TRUE, bw=48 ,p=2) #objeto espacial:Dub.voter, vars=vector con las variables a trabajar, bw(ancho de banda, se suele sacar el 15 a las observaciones (322*0.15)), p=distancia euclidiana
medidas #imprime medidas
## ***********************************************************************
## * Package GWmodel *
## ***********************************************************************
##
## ***********************Calibration information*************************
##
## Local summary statistics calculated for variables:
## GenEl2004 LARent Unempl
## Number of summary points: 322
## Kernel function: bisquare
## Summary points: the same locations as observations are used.
## Adaptive bandwidth: 48 (number of nearest neighbours)
## Distance metric: Euclidean distance metric is used.
##
## ************************Local Summary Statistics:**********************
## Summary information for Local means:
## Min. 1st Qu. Median 3rd Qu. Max.
## GenEl2004_LM 51.5132 54.0718 55.1561 56.1063 57.5607
## LARent_LM 11.0421 14.4222 17.0290 20.2421 31.7201
## Unempl_LM 5.7340 6.9811 8.0931 8.9572 9.9021
## Summary information for local standard deviation :
## Min. 1st Qu. Median 3rd Qu. Max.
## GenEl2004_LSD 7.4372 8.6188 8.9408 9.4066 9.8911
## LARent_LSD 20.1806 24.3825 26.5003 29.6696 37.4172
## Unempl_LSD 4.1540 4.9932 5.4572 5.7331 6.3354
## Summary information for local variance :
## Min. 1st Qu. Median 3rd Qu. Max.
## GenEl2004_LVar 55.312 74.284 79.938 88.484 97.834
## LARent_LVar 407.255 594.505 702.265 880.283 1400.046
## Unempl_LVar 17.256 24.932 29.782 32.868 40.137
## Summary information for Local skewness:
## Min. 1st Qu. Median 3rd Qu. Max.
## GenEl2004_LSKe -0.80507 -0.68985 -0.57686 -0.45446 -0.0863
## LARent_LSKe 0.96624 1.80785 2.08370 2.42642 3.1065
## Unempl_LSKe 0.86075 1.19091 1.41118 1.64968 2.1461
## Summary information for localized coefficient of variation:
## Min. 1st Qu. Median 3rd Qu. Max.
## GenEl2004_LCV 0.12932 0.15426 0.16272 0.17508 0.1904
## LARent_LCV 1.17356 1.43387 1.58074 1.70126 1.8826
## Unempl_LCV 0.57279 0.64790 0.68731 0.70391 0.7601
## Summary information for localized Covariance and Correlation between these variables:
## Min. 1st Qu. Median 3rd Qu.
## Cov_GenEl2004.LARent -280.10224 -198.52680 -166.86324 -145.23307
## Cov_GenEl2004.Unempl -43.41703 -35.80206 -32.21179 -28.82365
## Cov_LARent.Unempl 59.11462 82.82905 94.62761 108.94614
## Corr_GenEl2004.LARent -0.76412 -0.70794 -0.69022 -0.67828
## Corr_GenEl2004.Unempl -0.71371 -0.69029 -0.66717 -0.63791
## Corr_LARent.Unempl 0.54758 0.62270 0.66601 0.68135
## Spearman_rho_GenEl2004.LARent -0.80902 -0.77184 -0.73452 -0.69298
## Spearman_rho_GenEl2004.Unempl -0.73661 -0.70675 -0.68729 -0.65235
## Spearman_rho_LARent.Unempl 0.72420 0.74965 0.77185 0.78776
## Max.
## Cov_GenEl2004.LARent -95.9297
## Cov_GenEl2004.Unempl -19.8503
## Cov_LARent.Unempl 134.7817
## Corr_GenEl2004.LARent -0.6346
## Corr_GenEl2004.Unempl -0.5598
## Corr_LARent.Unempl 0.7025
## Spearman_rho_GenEl2004.LARent -0.6079
## Spearman_rho_GenEl2004.Unempl -0.6195
## Spearman_rho_LARent.Unempl 0.8150
##
## ************************************************************************
Se corre el paquete estadistico GWmodel.
Se implemento la función Kernel: Bisquare
Ancho de banda adaptativo (numero de vecinos cercanos).
La anterior información nos muestran los estadisticos locales para Gen. LARent, Unemp, Para la media local en cada una de las variables (min, mediana),
Muestra tambien la desviaciòn estandar local, varianza, curtosis, coeficiente de variaciòn, correlaciòn entre covarianza y Spearman_rho
head(medidas$SDF) #muestra los primeros 6 para cada una de las regiones SDF salidas
## GenEl2004_LM LARent_LM Unempl_LM GenEl2004_LSD LARent_LSD Unempl_LSD
## 0 52.80923 27.27637 9.741913 9.771682 34.42923 5.882038
## 1 52.21610 28.74097 9.899018 9.746091 34.95613 5.765589
## 2 51.57807 30.59767 9.896990 9.653673 35.90828 5.698686
## 3 52.27639 27.37876 9.827329 9.603126 33.74994 5.637839
## 4 52.27847 27.91766 9.902079 9.654582 34.20015 5.671821
## 5 54.02263 20.98214 9.347402 9.604863 29.32960 5.754368
## GenEl2004_LVar LARent_LVar Unempl_LVar GenEl2004_LSKe LARent_LSKe Unempl_LSKe
## 0 95.48577 1185.3719 34.59837 -0.2871023 1.254852 0.9504027
## 1 94.98628 1221.9312 33.24201 -0.2225545 1.171883 0.8846933
## 2 93.19340 1289.4048 32.47502 -0.1403796 1.053017 0.8607516
## 3 92.22002 1139.0587 31.78522 -0.2458225 1.276107 0.8725445
## 4 93.21096 1169.6501 32.16955 -0.2438526 1.237786 0.8657248
## 5 92.25339 860.2256 33.11275 -0.5061057 1.772793 1.0485229
## GenEl2004_LCV LARent_LCV Unempl_LCV Cov_GenEl2004.LARent Cov_GenEl2004.Unempl
## 0 0.1850374 1.262237 0.6037868 -254.3037 -33.62464
## 1 0.1866492 1.216247 0.5824405 -255.6519 -31.99567
## 2 0.1871662 1.173563 0.5757999 -259.2429 -31.15200
## 3 0.1836991 1.232705 0.5736898 -237.8118 -31.07203
## 4 0.1846761 1.225036 0.5727909 -244.9732 -31.08011
## 5 0.1777933 1.397837 0.6156115 -200.4003 -35.02248
## Cov_LARent.Unempl Corr_GenEl2004.LARent Corr_GenEl2004.Unempl
## 0 117.17666 -0.7506025 -0.5809175
## 1 114.28371 -0.7449073 -0.5652286
## 2 117.12399 -0.7422217 -0.5619952
## 3 108.41980 -0.7287129 -0.5699715
## 4 109.40334 -0.7366068 -0.5635147
## 5 98.43347 -0.7074151 -0.6301317
## Corr_LARent.Unempl Spearman_rho_GenEl2004.LARent
## 0 0.5745660 -0.7942828
## 1 0.5628911 -0.7974317
## 2 0.5680551 -0.8023372
## 3 0.5658895 -0.7883980
## 4 0.5599622 -0.7909291
## 5 0.5799789 -0.7502073
## Spearman_rho_GenEl2004.Unempl Spearman_rho_LARent.Unempl
## 0 -0.6450013 0.7544633
## 1 -0.6347902 0.7558371
## 2 -0.6379687 0.7650208
## 3 -0.6348366 0.7623013
## 4 -0.6289499 0.7570398
## 5 -0.6593948 0.7519639
dim(medidas$SDF) #dimensiones de la salida de medidas
## [1] 322 24
class(medidas$SDF@data) #clase de objeto data.frame @data
## [1] "data.frame"
m=medidas
m= medidas$SDF@data
Ahora se carga la libreria writexl para guargar el archivo de los datos y resultados generados en excel
getwd() #directorio de trabajo
## [1] "C:/Users/asus/Documents/doctorado/DOCTORADO/Clase 3 - Docente Fabio/ejercicios/ACTIVIDADES"
library(writexl)
De lo anterior, el siguiente código crea un excel para guardar los resultados
# write_xlsx(medidas$SDF@data, "prueba.xlsx") #crea un excel y guarda los resultados
TambiƩn podemos guardar los datos:
save(m, file="karol.RData") #guarda los datos en Rdata
#se guarda como un Rdata que permite guardar varios objetos
Leer información que tenga en un Rdata
load("Karol.RData") #leer el archivo .Rdata
Crea paletas de colores de aspecto agradable, especialmente para mapas temƔticos
library("RColorBrewer") #carga la libreria paleta de colores
A continuación se presenta las medidas de variabilidad de GW para GenEl2004
Los comandos para realizar estas visualizaciones son los siguientes:
La siguiente linea me crea un mapa con la escala
map.na = list("SpatialPolygonsRescale", layout.north.arrow(), offset = c(329000, 261500), scale = 4000, col = 1) #crea un mapar con la figura del norte
map.scale.1 = list("SpatialPolygonsRescale", layout.scale.bar(), offset = c(326500, 217000), scale = 5000, col = 1, fill = c("transparent", "blue"))
map.scale.2 = list("sp.text", c(326500, 217900), "0", cex = 0.9, col = 1)
map.scale.3 = list("sp.text", c(331500, 217900), "5km", cex = 0.9, col = 1)
map.layout = list(map.na, map.scale.1, map.scale.2, map.scale.3) #Crea un diseƱo de mapa, que incluye tĆtulo, leyenda, escala y flecha norte para imprimir.
mypalette.1 = brewer.pal(8, "Reds")
mypalette.2 = brewer.pal(6, "Greens")
Por ultimo graficamos las diferentes medidas usando la función spplot:
spplot(medidas$SDF, "LARent_LM", key.space = "right", col.regions = mypalette.1, cuts = 7, main = "Media GP para LARent", sp.layout = map.layout)
** Media geogrƔficamente ponderada:
spplot(medidas$SDF, "Unempl_LM", key.space = "right", col.regions = mypalette.1, cuts = 7, main = "Media GP para Unempl", sp.layout = map.layout)
Grafica teniendo en cuenta la paleta 1 la Media GP para la variable GenE12004
spplot(medidas$SDF, "GenEl2004_LM", key.space = "right", col.regions = mypalette.1, cuts = 7, main = "Media GP para GenEl2004", sp.layout = map.layout)
** Desviación estÔndar geogrÔficamente ponderada:
desviacion indica variabilidad en la variable (zona centro desviacion alta, para la vecindad la proporcion de votantes es diferente)
spplot(medidas$SDF, "GenEl2004_LSD", key.space = "right", col.regions = mypalette.1, cuts = 7, main = "Desviación GP para GenEl2004", sp.layout = map.layout)
Para valores diferentes en una zona de estudio (entre unidades espaciales vecinas), la medida de dispersion los valores seran altos
a continuacion se calculan el coeficiente de correlacion de person entre las dos variables, la relacion es inversa al aumentar el % de votantes disminuy el porcentaje que paga renta
spplot(medidas$SDF, "Corr_GenEl2004.LARent", key.space = "right", col.regions = mypalette.1, cuts = 7, main ="Correlación entre GenEl2004 y laRent", sp.layout = map.layout)