** Comentar código visto en clase**

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

Cargar libreria y 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)

Visualiza la LM=media local:

** 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)