## Aula 9-1 - Regress?o Ponderada Espacialmente ### OU ## Geographically Weighted Regression - GWR ## pacote "spgwr" # install.packages("spgwr") # instala??o do pacote # install.packages("spdep") # install.packages("shapefiles") library(spgwr) # carregamento do pacote library(spdep) library(shapefiles) # para export e import shape - o pacote 'spgwr' trabalha no formato 'sp' #library(sf) ### 1. Fazendo as an?lises com o banco de dados 'Columbus' data(columbus) ls() # "Columbus" dispon?vel # no pacote 'spgwr' str(columbus) # olhando a estrutura do banco class(columbus) # ? um data.frame e ? um obj do pcte 'sp' # 1.1 Fazendo uma regress?o OLS col.lm <- lm(CRIME~INC+HOVAL, data=columbus) summary(col.lm) # 1.2 Determina??o da banda # otimiza??o de uma fun??o kernel dada - 'gwr.sel' # fun??es kernel: Gaussiana, Bisquare, Tricube (ver pdf do programa) # determin a banda usando uma fun??o gaussiana (default) # preciso informar as 'coords' pq ? ? um obj do pcte 'sp' col.bw <- gwr.sel(CRIME~INC+HOVAL, data=columbus, coords=cbind(columbus$X, columbus$Y)) # ap?s otimiza??o - banda = 2.275032 # 1.3 obten??o do modelo GWR - uso comando 'gwr' # inform 'coords' pq ? ? um obj do pcte 'sp' # inform 'hatmatrix=T" - incluir valores do erros amostrais col.gauss <- gwr(CRIME~INC+HOVAL, data=columbus,coords=cbind(columbus$X, columbus$Y), bandwidth=col.bw, hatmatrix=TRUE) col.gauss # notar a varia??o do interc e dos betas de income e housing names(col.gauss) # para mostrar os 'slots' de 'col.gauss' class(col.gauss) # objeto GWR # SDF - resultados com os valores dos betas segundo localidade col.gauss$SDF # para mostrar o slot 'SDF' names(col.gauss$SDF) # para mostrar os campos de 'SDF' class(col.gauss$SDF) # objeto espacial do tipo 'sp' col.gauss$SDF$INC # para mostra os valores dos betas p/ 'income' summary(col.gauss$SDF$INC) # resumo estat dos valores dos betas para INC col.gauss$SDF$INC_se summary(col.gauss$SDF$INC_se) # p/ mostrar os val do er padr dos betas de "income" ## 1.4 Mapeando os valores dos betas e de seus er padr spplot(col.gauss$SDF, "INC", col.regions=grey.colors(20)) spplot(col.gauss$SDF, "INC_se", col.regions=grey.colors(20)) ## 1.5 Exportando valores dos betas e de seus erros padr?es write.table(col.gauss$SDF$INC,"betas_INC") write.table(col.gauss$SDF$INC_se,"se_INC")