Skip to content

Instantly share code, notes, and snippets.

@thiagomarzagao
Created May 30, 2014 05:44
Show Gist options
  • Save thiagomarzagao/fd1d86ec744b6d6430c3 to your computer and use it in GitHub Desktop.
Save thiagomarzagao/fd1d86ec744b6d6430c3 to your computer and use it in GitHub Desktop.
Code used for my paper "A dimensao geografica das eleicoes brasileiras".
### preliminary stuff
setwd("/Users/thiagomarzagao/desktop/PROJECT")
library(foreign)
library(MASS)
library(car)
library(lmtest)
library(spdep)
library(sphet)
library(Matrix)
library(spgwr)
options(digits=5, scipen=1)
### importing the attributes table
meusdados<-read.csv(file="completedatabase.csv",head=TRUE)
attach(meusdados)
### importing weights matrices from GeoDa
weights.50km<-read.gwt2nb("wmfifty.gwt", region.id=CODE)
print(weights.50km)
weights.80km<-read.gwt2nb("wmeighty.gwt", region.id=CODE)
print(weights.80km)
weights.110km<-read.gwt2nb("wmoneten.gwt", region.id=CODE)
print(weights.110km)
weights.queen<-read.gal("wmqueen.gal", region.id=CODE)
print(weights.queen)
weights.rook<-read.gal("wmrook.gal", region.id=CODE)
print(weights.rook)
### converting weights matrices to listw format
weights.50km.listw<-nb2listw(weights.50km, zero.policy=TRUE)
print(weights.50km.listw, zero.policy=TRUE)
weights.80km.listw<-nb2listw(weights.80km, zero.policy=TRUE)
print(weights.80km.listw, zero.policy=TRUE)
weights.110km.listw<-nb2listw(weights.110km, zero.policy=TRUE)
print(weights.110km.listw, zero.policy=TRUE)
weights.queen.listw<-nb2listw(weights.queen, zero.policy=TRUE)
print(weights.queen.listw, zero.policy=TRUE)
weights.rook.listw<-nb2listw(weights.rook, zero.policy=TRUE)
print(weights.rook.listw, zero.policy=TRUE)
### preliminary tests of spatial autocorrelation
## computing Moran's I
pt1.50km.moran<-moran.test(pt1, weights.50km.listw, na.action=na.exclude, zero.policy=TRUE)
pt1.80km.moran<-moran.test(pt1, weights.80km.listw, na.action=na.exclude, zero.policy=TRUE)
pt1.110km.moran<-moran.test(pt1, weights.110km.listw, na.action=na.exclude, zero.policy=TRUE)
pt1.queen.moran<-moran.test(pt1, weights.queen.listw, na.action=na.exclude, zero.policy=TRUE)
pt1.rook.moran<-moran.test(pt1, weights.rook.listw, na.action=na.exclude, zero.policy=TRUE)
psdb1.50km.moran<-moran.test(psdb1, weights.50km.listw, na.action=na.exclude, zero.policy=TRUE)
psdb1.80km.moran<-moran.test(psdb1, weights.80km.listw, na.action=na.exclude, zero.policy=TRUE)
psdb1.110km.moran<-moran.test(psdb1, weights.110km.listw, na.action=na.exclude, zero.policy=TRUE)
psdb1.queen.moran<-moran.test(psdb1, weights.queen.listw, na.action=na.exclude, zero.policy=TRUE)
psdb1.rook.moran<-moran.test(psdb1, weights.rook.listw, na.action=na.exclude, zero.policy=TRUE)
pt2.50km.moran<-moran.test(pt2, weights.50km.listw, na.action=na.exclude, zero.policy=TRUE)
pt2.80km.moran<-moran.test(pt2, weights.80km.listw, na.action=na.exclude, zero.policy=TRUE)
pt2.110km.moran<-moran.test(pt2, weights.110km.listw, na.action=na.exclude, zero.policy=TRUE)
pt2.queen.moran<-moran.test(pt2, weights.queen.listw, na.action=na.exclude, zero.policy=TRUE)
pt2.rook.moran<-moran.test(pt2, weights.rook.listw, na.action=na.exclude, zero.policy=TRUE)
psdb2.50km.moran<-moran.test(psdb2, weights.50km.listw, na.action=na.exclude, zero.policy=TRUE)
psdb2.80km.moran<-moran.test(psdb2, weights.80km.listw, na.action=na.exclude, zero.policy=TRUE)
psdb2.110km.moran<-moran.test(psdb2, weights.110km.listw, na.action=na.exclude, zero.policy=TRUE)
psdb2.queen.moran<-moran.test(psdb2, weights.queen.listw, na.action=na.exclude, zero.policy=TRUE)
psdb2.rook.moran<-moran.test(psdb2, weights.rook.listw, na.action=na.exclude, zero.policy=TRUE)
bolsagdp.50km.moran<-moran.test(bolsagdp, weights.50km.listw, na.action=na.exclude, zero.policy=TRUE)
bolsagdp.80km.moran<-moran.test(bolsagdp, weights.80km.listw, na.action=na.exclude, zero.policy=TRUE)
bolsagdp.110km.moran<-moran.test(bolsagdp, weights.110km.listw, na.action=na.exclude, zero.policy=TRUE)
bolsagdp.queen.moran<-moran.test(bolsagdp, weights.queen.listw, na.action=na.exclude, zero.policy=TRUE)
bolsagdp.rook.moran<-moran.test(bolsagdp, weights.rook.listw, na.action=na.exclude, zero.policy=TRUE)
lgdpcap.50km.moran<-moran.test(lgdpcap, weights.50km.listw, na.action=na.exclude, zero.policy=TRUE)
lgdpcap.80km.moran<-moran.test(lgdpcap, weights.80km.listw, na.action=na.exclude, zero.policy=TRUE)
lgdpcap.110km.moran<-moran.test(lgdpcap, weights.110km.listw, na.action=na.exclude, zero.policy=TRUE)
lgdpcap.queen.moran<-moran.test(lgdpcap, weights.queen.listw, na.action=na.exclude, zero.policy=TRUE)
lgdpcap.rook.moran<-moran.test(lgdpcap, weights.rook.listw, na.action=na.exclude, zero.policy=TRUE)
illiteracy.50km.moran<-moran.test(illiteracy, weights.50km.listw, na.action=na.exclude, zero.policy=TRUE)
illiteracy.80km.moran<-moran.test(illiteracy, weights.80km.listw, na.action=na.exclude, zero.policy=TRUE)
illiteracy.110km.moran<-moran.test(illiteracy, weights.110km.listw, na.action=na.exclude, zero.policy=TRUE)
illiteracy.queen.moran<-moran.test(illiteracy, weights.queen.listw, na.action=na.exclude, zero.policy=TRUE)
illiteracy.rook.moran<-moran.test(illiteracy, weights.rook.listw, na.action=na.exclude, zero.policy=TRUE)
rural.50km.moran<-moran.test(rural, weights.50km.listw, na.action=na.exclude, zero.policy=TRUE)
rural.80km.moran<-moran.test(rural, weights.80km.listw, na.action=na.exclude, zero.policy=TRUE)
rural.110km.moran<-moran.test(rural, weights.110km.listw, na.action=na.exclude, zero.policy=TRUE)
rural.queen.moran<-moran.test(rural, weights.queen.listw, na.action=na.exclude, zero.policy=TRUE)
rural.rook.moran<-moran.test(rural, weights.rook.listw, na.action=na.exclude, zero.policy=TRUE)
nonadequate.50km.moran<-moran.test(nonadequate, weights.50km.listw, na.action=na.exclude, zero.policy=TRUE)
nonadequate.80km.moran<-moran.test(nonadequate, weights.80km.listw, na.action=na.exclude, zero.policy=TRUE)
nonadequate.110km.moran<-moran.test(nonadequate, weights.110km.listw, na.action=na.exclude, zero.policy=TRUE)
nonadequate.queen.moran<-moran.test(nonadequate, weights.queen.listw, na.action=na.exclude, zero.policy=TRUE)
nonadequate.rook.moran<-moran.test(nonadequate, weights.rook.listw, na.action=na.exclude, zero.policy=TRUE)
## displaying Moran's I
moran50km<-matrix(c(pt1.50km.moran$estimate[1],pt1.50km.moran$estimate[2],pt1.50km.moran$estimate[3],pt1.50km.moran$p.value,psdb1.50km.moran$estimate[1],psdb1.50km.moran$estimate[2],psdb1.50km.moran$estimate[3],psdb1.50km.moran$p.value,pt2.50km.moran$estimate[1],pt2.50km.moran$estimate[2],pt2.50km.moran$estimate[3],pt2.50km.moran$p.value,psdb2.50km.moran$estimate[1],psdb2.50km.moran$estimate[2],psdb2.50km.moran$estimate[3],psdb2.50km.moran$p.value,bolsagdp.50km.moran$estimate[1],bolsagdp.50km.moran$estimate[2],bolsagdp.50km.moran$estimate[3],bolsagdp.50km.moran$p.value,lgdpcap.50km.moran$estimate[1],lgdpcap.50km.moran$estimate[2],lgdpcap.50km.moran$estimate[3],lgdpcap.50km.moran$p.value,illiteracy.50km.moran$estimate[1],illiteracy.50km.moran$estimate[2],illiteracy.50km.moran$estimate[3],illiteracy.50km.moran$p.value,rural.50km.moran$estimate[1],rural.50km.moran$estimate[2],rural.50km.moran$estimate[3],rural.50km.moran$p.value,nonadequate.50km.moran$estimate[1],nonadequate.50km.moran$estimate[2],nonadequate.50km.moran$estimate[3],nonadequate.50km.moran$p.value),nrow=36,ncol=1)
moran80km<-matrix(c(pt1.80km.moran$estimate[1],pt1.80km.moran$estimate[2],pt1.80km.moran$estimate[3],pt1.80km.moran$p.value,psdb1.80km.moran$estimate[1],psdb1.80km.moran$estimate[2],psdb1.80km.moran$estimate[3],psdb1.80km.moran$p.value,pt2.80km.moran$estimate[1],pt2.80km.moran$estimate[2],pt2.80km.moran$estimate[3],pt2.80km.moran$p.value,psdb2.80km.moran$estimate[1],psdb2.80km.moran$estimate[2],psdb2.80km.moran$estimate[3],psdb2.80km.moran$p.value,bolsagdp.80km.moran$estimate[1],bolsagdp.80km.moran$estimate[2],bolsagdp.80km.moran$estimate[3],bolsagdp.80km.moran$p.value,lgdpcap.80km.moran$estimate[1],lgdpcap.80km.moran$estimate[2],lgdpcap.80km.moran$estimate[3],lgdpcap.80km.moran$p.value,illiteracy.80km.moran$estimate[1],illiteracy.80km.moran$estimate[2],illiteracy.80km.moran$estimate[3],illiteracy.80km.moran$p.value,rural.80km.moran$estimate[1],rural.80km.moran$estimate[2],rural.80km.moran$estimate[3],rural.80km.moran$p.value,nonadequate.80km.moran$estimate[1],nonadequate.80km.moran$estimate[2],nonadequate.80km.moran$estimate[3],nonadequate.80km.moran$p.value),nrow=36,ncol=1)
moran110km<-matrix(c(pt1.110km.moran$estimate[1],pt1.110km.moran$estimate[2],pt1.110km.moran$estimate[3],pt1.110km.moran$p.value,psdb1.110km.moran$estimate[1],psdb1.110km.moran$estimate[2],psdb1.110km.moran$estimate[3],psdb1.110km.moran$p.value,pt2.110km.moran$estimate[1],pt2.110km.moran$estimate[2],pt2.110km.moran$estimate[3],pt2.110km.moran$p.value,psdb2.110km.moran$estimate[1],psdb2.110km.moran$estimate[2],psdb2.110km.moran$estimate[3],psdb2.110km.moran$p.value,bolsagdp.110km.moran$estimate[1],bolsagdp.110km.moran$estimate[2],bolsagdp.110km.moran$estimate[3],bolsagdp.110km.moran$p.value,lgdpcap.110km.moran$estimate[1],lgdpcap.110km.moran$estimate[2],lgdpcap.110km.moran$estimate[3],lgdpcap.110km.moran$p.value,illiteracy.110km.moran$estimate[1],illiteracy.110km.moran$estimate[2],illiteracy.110km.moran$estimate[3],illiteracy.110km.moran$p.value,rural.110km.moran$estimate[1],rural.110km.moran$estimate[2],rural.110km.moran$estimate[3],rural.110km.moran$p.value,nonadequate.110km.moran$estimate[1],nonadequate.110km.moran$estimate[2],nonadequate.110km.moran$estimate[3],nonadequate.110km.moran$p.value),nrow=36,ncol=1)
moranrook<-matrix(c(pt1.rook.moran$estimate[1],pt1.rook.moran$estimate[2],pt1.rook.moran$estimate[3],pt1.rook.moran$p.value,psdb1.rook.moran$estimate[1],psdb1.rook.moran$estimate[2],psdb1.rook.moran$estimate[3],psdb1.rook.moran$p.value,pt2.rook.moran$estimate[1],pt2.rook.moran$estimate[2],pt2.rook.moran$estimate[3],pt2.rook.moran$p.value,psdb2.rook.moran$estimate[1],psdb2.rook.moran$estimate[2],psdb2.rook.moran$estimate[3],psdb2.rook.moran$p.value,bolsagdp.rook.moran$estimate[1],bolsagdp.rook.moran$estimate[2],bolsagdp.rook.moran$estimate[3],bolsagdp.rook.moran$p.value,lgdpcap.rook.moran$estimate[1],lgdpcap.rook.moran$estimate[2],lgdpcap.rook.moran$estimate[3],lgdpcap.rook.moran$p.value,illiteracy.rook.moran$estimate[1],illiteracy.rook.moran$estimate[2],illiteracy.rook.moran$estimate[3],illiteracy.rook.moran$p.value,rural.rook.moran$estimate[1],rural.rook.moran$estimate[2],rural.rook.moran$estimate[3],rural.rook.moran$p.value,nonadequate.rook.moran$estimate[1],nonadequate.rook.moran$estimate[2],nonadequate.rook.moran$estimate[3],nonadequate.rook.moran$p.value),nrow=36,ncol=1)
moranqueen<-matrix(c(pt1.queen.moran$estimate[1],pt1.queen.moran$estimate[2],pt1.queen.moran$estimate[3],pt1.queen.moran$p.value,psdb1.queen.moran$estimate[1],psdb1.queen.moran$estimate[2],psdb1.queen.moran$estimate[3],psdb1.queen.moran$p.value,pt2.queen.moran$estimate[1],pt2.queen.moran$estimate[2],pt2.queen.moran$estimate[3],pt2.queen.moran$p.value,psdb2.queen.moran$estimate[1],psdb2.queen.moran$estimate[2],psdb2.queen.moran$estimate[3],psdb2.queen.moran$p.value,bolsagdp.queen.moran$estimate[1],bolsagdp.queen.moran$estimate[2],bolsagdp.queen.moran$estimate[3],bolsagdp.queen.moran$p.value,lgdpcap.queen.moran$estimate[1],lgdpcap.queen.moran$estimate[2],lgdpcap.queen.moran$estimate[3],lgdpcap.queen.moran$p.value,illiteracy.queen.moran$estimate[1],illiteracy.queen.moran$estimate[2],illiteracy.queen.moran$estimate[3],illiteracy.queen.moran$p.value,rural.queen.moran$estimate[1],rural.queen.moran$estimate[2],rural.queen.moran$estimate[3],rural.queen.moran$p.value,nonadequate.queen.moran$estimate[1],nonadequate.queen.moran$estimate[2],nonadequate.queen.moran$estimate[3],nonadequate.queen.moran$p.value),nrow=36,ncol=1)
moran1table<-cbind(moran50km,moran80km,moran110km,moranrook,moranqueen)
colnames(moran1table)<-c('50km','80km','110km','rook','queen')
rownames(moran1table)<-c('PT1','expectation','variance','p-value','PSDB1','expectation','variance','p-value','PT2','expectation','variance','p-value','PSDB2','expectation','variance','p-value','Bolsa/GDP','expectation','variance','p-value','lGDPperCapita','expectation','variance','p-value','Illiteracy','expectation','variance','p-value','Rural','expectation','variance','p-value','Nonadequate','expectation','variance','p-value')
formatC(moran1table,format="f",digits=5)
## computing permutation-based Moran's I
pt1.50km.moran.mc<-moran.mc(pt1, weights.50km.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
pt1.80km.moran.mc<-moran.mc(pt1, weights.80km.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
pt1.110km.moran.mc<-moran.mc(pt1, weights.110km.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
pt1.queen.moran.mc<-moran.mc(pt1, weights.queen.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
pt1.rook.moran.mc<-moran.mc(pt1, weights.rook.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
psdb1.50km.moran.mc<-moran.mc(psdb1, weights.50km.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
psdb1.80km.moran.mc<-moran.mc(psdb1, weights.80km.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
psdb1.110km.moran.mc<-moran.mc(psdb1, weights.110km.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
psdb1.queen.moran.mc<-moran.mc(psdb1, weights.queen.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
psdb1.rook.moran.mc<-moran.mc(psdb1, weights.rook.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
pt2.50km.moran.mc<-moran.mc(pt2, weights.50km.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
pt2.80km.moran.mc<-moran.mc(pt2, weights.80km.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
pt2.110km.moran.mc<-moran.mc(pt2, weights.110km.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
pt2.queen.moran.mc<-moran.mc(pt2, weights.queen.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
pt2.rook.moran.mc<-moran.mc(pt2, weights.rook.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
psdb2.50km.moran.mc<-moran.mc(psdb2, weights.50km.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
psdb2.80km.moran.mc<-moran.mc(psdb2, weights.80km.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
psdb2.110km.moran.mc<-moran.mc(psdb2, weights.110km.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
psdb2.queen.moran.mc<-moran.mc(psdb2, weights.queen.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
psdb2.rook.moran.mc<-moran.mc(psdb2, weights.rook.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
bolsagdp.50km.moran.mc<-moran.mc(bolsagdp, weights.50km.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
bolsagdp.80km.moran.mc<-moran.mc(bolsagdp, weights.80km.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
bolsagdp.110km.moran.mc<-moran.mc(bolsagdp, weights.110km.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
bolsagdp.queen.moran.mc<-moran.mc(bolsagdp, weights.queen.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
bolsagdp.rook.moran.mc<-moran.mc(bolsagdp, weights.rook.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
lgdpcap.50km.moran.mc<-moran.mc(lgdpcap, weights.50km.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
lgdpcap.80km.moran.mc<-moran.mc(lgdpcap, weights.80km.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
lgdpcap.110km.moran.mc<-moran.mc(lgdpcap, weights.110km.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
lgdpcap.queen.moran.mc<-moran.mc(lgdpcap, weights.queen.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
lgdpcap.rook.moran.mc<-moran.mc(lgdpcap, weights.rook.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
illiteracy.50km.moran.mc<-moran.mc(illiteracy, weights.50km.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
illiteracy.80km.moran.mc<-moran.mc(illiteracy, weights.80km.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
illiteracy.110km.moran.mc<-moran.mc(illiteracy, weights.110km.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
illiteracy.queen.moran.mc<-moran.mc(illiteracy, weights.queen.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
illiteracy.rook.moran.mc<-moran.mc(illiteracy, weights.rook.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
rural.50km.moran.mc<-moran.mc(rural, weights.50km.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
rural.80km.moran.mc<-moran.mc(rural, weights.80km.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
rural.110km.moran.mc<-moran.mc(rural, weights.110km.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
rural.queen.moran.mc<-moran.mc(rural, weights.queen.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
rural.rook.moran.mc<-moran.mc(rural, weights.rook.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
nonadequate<-semiadequate+inadequate
nonadequate.50km.moran.mc<-moran.mc(nonadequate, weights.50km.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
nonadequate.80km.moran.mc<-moran.mc(nonadequate, weights.80km.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
nonadequate.110km.moran.mc<-moran.mc(nonadequate, weights.110km.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
nonadequate.queen.moran.mc<-moran.mc(nonadequate, weights.queen.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
nonadequate.rook.moran.mc<-moran.mc(nonadequate, weights.rook.listw, na.action=na.exclude, nsim=99, zero.policy=TRUE)
## displaying permutation-based Moran's I
moran.mc.50km<-matrix(c(pt1.50km.moran.mc$statistic,pt1.50km.moran.mc$p.value,psdb1.50km.moran.mc$statistic,psdb1.50km.moran.mc$p.value,pt2.50km.moran.mc$statistic,pt2.50km.moran.mc$p.value,psdb2.50km.moran.mc$statistic,psdb2.50km.moran.mc$p.value,bolsagdp.50km.moran.mc$statistic,bolsagdp.50km.moran.mc$p.value,lgdpcap.50km.moran.mc$statistic,lgdpcap.50km.moran.mc$p.value,illiteracy.50km.moran.mc$statistic,illiteracy.50km.moran.mc$p.value,rural.50km.moran.mc$statistic,rural.50km.moran.mc$p.value, nonadequate.50km.moran.mc$statistic,nonadequate.50km.moran.mc$p.value),nrow=18,ncol=1)
moran.mc.80km<-matrix(c(pt1.80km.moran.mc$statistic,pt1.80km.moran.mc$p.value,psdb1.80km.moran.mc$statistic,psdb1.80km.moran.mc$p.value,pt2.80km.moran.mc$statistic,pt2.80km.moran.mc$p.value,psdb2.80km.moran.mc$statistic,psdb2.80km.moran.mc$p.value,bolsagdp.80km.moran.mc$statistic,bolsagdp.80km.moran.mc$p.value,lgdpcap.80km.moran.mc$statistic,lgdpcap.80km.moran.mc$p.value,illiteracy.80km.moran.mc$statistic,illiteracy.80km.moran.mc$p.value,rural.80km.moran.mc$statistic,rural.80km.moran.mc$p.value,nonadequate.80km.moran.mc$statistic,nonadequate.80km.moran.mc$p.value),nrow=18,ncol=1)
moran.mc.110km<-matrix(c(pt1.110km.moran.mc$statistic,pt1.110km.moran.mc$p.value,psdb1.110km.moran.mc$statistic,psdb1.110km.moran.mc$p.value,pt2.110km.moran.mc$statistic,pt2.110km.moran.mc$p.value,psdb2.110km.moran.mc$statistic,psdb2.110km.moran.mc$p.value,bolsagdp.110km.moran.mc$statistic,bolsagdp.110km.moran.mc$p.value,lgdpcap.110km.moran.mc$statistic,lgdpcap.110km.moran.mc$p.value,illiteracy.110km.moran.mc$statistic,illiteracy.110km.moran.mc$p.value,rural.110km.moran.mc$statistic,rural.110km.moran.mc$p.value,nonadequate.110km.moran.mc$statistic,nonadequate.110km.moran.mc$p.value),nrow=18,ncol=1)
moran.mc.rook<-matrix(c(pt1.rook.moran.mc$statistic,pt1.rook.moran.mc$p.value,psdb1.rook.moran.mc$statistic,psdb1.rook.moran.mc$p.value,pt2.rook.moran.mc$statistic,pt2.rook.moran.mc$p.value,psdb2.rook.moran.mc$statistic,psdb2.rook.moran.mc$p.value,bolsagdp.rook.moran.mc$statistic,bolsagdp.rook.moran.mc$p.value,lgdpcap.rook.moran.mc$statistic,lgdpcap.rook.moran.mc$p.value,illiteracy.rook.moran.mc$statistic,illiteracy.rook.moran.mc$p.value,rural.rook.moran.mc$statistic,rural.rook.moran.mc$p.value,nonadequate.rook.moran.mc$statistic,nonadequate.rook.moran.mc$p.value),nrow=18,ncol=1)
moran.mc.queen<-matrix(c(pt1.queen.moran.mc$statistic,pt1.queen.moran.mc$p.value,psdb1.queen.moran.mc$statistic,psdb1.queen.moran.mc$p.value,pt2.queen.moran.mc$statistic,pt2.queen.moran.mc$p.value,psdb2.queen.moran.mc$statistic,psdb2.queen.moran.mc$p.value,bolsagdp.queen.moran.mc$statistic,bolsagdp.queen.moran.mc$p.value,lgdpcap.queen.moran.mc$statistic,lgdpcap.queen.moran.mc$p.value,illiteracy.queen.moran.mc$statistic,illiteracy.queen.moran.mc$p.value,rural.queen.moran.mc$statistic,rural.queen.moran.mc$p.value,nonadequate.queen.moran.mc$statistic,nonadequate.queen.moran.mc$p.value),nrow=18,ncol=1)
moran2table<-cbind(moran.mc.50km,moran.mc.80km,moran.mc.110km,moran.mc.rook,moran.mc.queen)
colnames(moran2table)<-c('50km','80km','110km','rook','queen')
rownames(moran2table)<-c('PT1','p-value','PSDB1','p-value','PT2','p-value','PSDB2','p-value','Bolsa/GDP','p-value','lGDPperCapita','p-value','Illiteracy','p-value','Rural','p-value','Nonadequate','p-value')
moran2table
## local spatial dependence
locmoran<-localmoran(pt2, weights.queen.listw, na.action=na.exclude,zero.policy=TRUE)
summary(locmoran)
## spatial dependence in non-presidential races
# state assemblies
pde13.moran.queen<-moran.test(pde13, weights.queen.listw, na.action=na.exclude, zero.policy=TRUE)
print(pde13.moran.queen)
pde13.moran.queen.mc<-moran.test(pde13, weights.queen.listw, na.action=na.exclude, zero.policy=TRUE)
print(pde13.moran.queen.mc)
pde13.locmoran<-localmoran(pde13, weights.queen.listw, na.action=na.exclude,zero.policy=TRUE)
summary(pde13.locmoran)
# lower house
pdf13.moran.queen<-moran.test(pdf13, weights.queen.listw, na.action=na.exclude, zero.policy=TRUE)
print(pdf13.moran.queen)
pdf13.moran.queen.mc<-moran.test(pdf13, weights.queen.listw, na.action=na.exclude, zero.policy=TRUE)
print(pdf13.moran.queen.mc)
pdf13.locmoran<-localmoran(pdf13, weights.queen.listw, na.action=na.exclude,zero.policy=TRUE)
summary(pdf13.locmoran)
### OLS
meusdados.ols<-lm(pt2 ~ party + bolsagdp + lgdpcap + rural + illiteracy + nonadequate + AL + AM + AP + BA + CE + DF + ES + GO + MA + MG + MS + MT + PA + PB + PE + PI + PR + RJ + RN + RO + RR + RS + SC + SE + SP + TO, data=meusdados)
summary(meusdados.ols)
ols.moran<-lm.morantest(meusdados.ols,weights.queen.listw, zero.policy=TRUE)
print(ols.moran)
lm.LMtests(meusdados.ols,weights.queen.listw,zero.policy=TRUE,test="all")
bptest(meusdados.ols)
vif(meusdados.ols)
### WLSP
meusdados.wlsp<-lm(pt2 ~ party + bolsagdp + lgdpcap + rural + illiteracy + nonadequate + AL + AM + AP + BA + CE + DF + ES + GO + MA + MG + MS + MT + PA + PB + PE + PI + PR + RJ + RN + RO + RR + RS + SC + SE + SP + TO, data=meusdados, weights=lpop)
summary(meusdados.wlsp)
wlsp.moran<-lm.morantest(meusdados.wlsp,weights.queen.listw, zero.policy=TRUE)
print(wlsp.moran)
lm.LMtests(meusdados.wlsp,weights.queen.listw,zero.policy=TRUE,test="all")
bptest(meusdados.wlsp)
vif(meusdados.wlsp)
### WLSV
meusdados.wlsv<-lm(pt2 ~ party + bolsagdp + lgdpcap + rural + illiteracy + nonadequate + AL + AM + AP + BA + CE + DF + ES + GO + MA + MG + MS + MT + PA + PB + PE + PI + PR + RJ + RN + RO + RR + RS + SC + SE + SP + TO, data=meusdados, weights=gw_wt)
summary(meusdados.wlsv)
wlsv.moran<-lm.morantest(meusdados.wlsv,weights.queen.listw, zero.policy=TRUE)
print(wlsv.moran)
lm.LMtests(meusdados.wlsv,weights.queen.listw,zero.policy=TRUE,test="all")
bptest(meusdados.wlsv)
vif(meusdados.wlsv)
### GWR w/ fixed bandwidth
coordin<-cbind(ycoord,xcoord)
meusdados.bw<-gwr.sel(pt2 ~ party + bolsagdp + lgdpcap + rural + illiteracy + nonadequate, data=meusdados, coords=coordin)
meusdados.gwr<-gwr(pt2 ~ party + bolsagdp + lgdpcap + rural + illiteracy + nonadequate, data=meusdados, coords=coordin, bandwidth=meusdados.bw)
print(meusdados.gwr)
### GWR w/ adaptive bandwidth
gw.adapt <- function(dp, fp, quant, longlat=FALSE) {
n1 <- nrow(dp)
n2 <- nrow(fp)
storage.mode(dp) <- "double"
storage.mode(fp) <- "double"
dists <- numeric(n1)
bw <- numeric(n2)
if (quant > 1) {
factor <- quant
quant <- 1
res <- .C("gw_adapt", dp[,1], dp[,2],
fp[,1], fp[,2], as.integer(n1),
as.integer(n2), as.double(bw), as.double(quant),
dists, as.integer(longlat),
PACKAGE="spgwr")[[7]]
res <- res*factor
} else {
n.ideal <- n1*quant
n.lower <- floor(n.ideal)
n.higher <- n.lower+1
q1 <- n.lower/n1
q2 <- n.higher/n1
res1 <- .C("gw_adapt", dp[,1], dp[,2],
fp[,1], fp[,2], as.integer(n1),
as.integer(n2), as.double(bw), as.double(q1),
dists, as.integer(longlat),
PACKAGE="spgwr")[[7]]
res2 <- .C("gw_adapt", dp[,1], dp[,2],
fp[,1], fp[,2], as.integer(n1),
as.integer(n2), as.double(bw), as.double(q2),
dists, as.integer(longlat),
PACKAGE="spgwr")[[7]]
res <- (n.ideal - n.lower)*res2 + (n.higher - n.ideal)*res1
}
res
}
adaptive.bw<-gw.adapt(coordin,coordin,quant=1)
meusdados2.gwr<-gwr(pt2 ~ party + bolsagdp + lgdpcap + rural + illiteracy + nonadequate, data=meusdados, coords=coordin, bandwidth=adaptive.bw)
print(meusdados2.gwr)
### spatial error model
meusdados.err<-errorsarlm(pt2 ~ party + bolsagdp + lgdpcap + rural + illiteracy + nonadequate + AL + AM + AP + BA + CE + DF + ES + GO + MA + MG + MS + MT + PA + PB + PE + PI + PR + RJ + RN + RO + RR + RS + SC + SE + SP + TO, zero.policy=TRUE,weights.queen.listw,na.action=na.omit,data=meusdados,quiet=FALSE)
summary(meusdados.err)
bptest.sarlm(meusdados.err)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment