[R-br] Arrumar borda do mapa

Felipe felipe.e.barletta em gmail.com
Terça Março 1 18:43:02 BRT 2016


Prezados, peço ajuda na seguinte questão.

Estou plotando um mapa de risco para mortalidade infantil em Curitiba e 
quando sobreponho a superfície de risco (ajustada por GAM do pacote 
mgcv), a imagem não fica ajustada com o limite das bordas do mapa. Quero 
preencher os espaço que fica vazio dentro do mapa e tirar o que 
ultrapassa o limite também. Tanto com o comando image quanto com a 
função vis.gam do pacote mgcv, não ficaram com boa visualização.


Os dados que estou usando estão no link a seguir:

http://www.leg.ufpr.br/lib/exe/fetch.php/projetos:arquivos_usados_no_tcc.zip

O script segue abaixo:

==== Carregando pacotes necessários ================
require(sp)
require(maptools)
require(spdep)
require(mgcv)
##### lendo o mapa da cidade de Curitiba.
#ctba <- readShapePoly("div_municipal") esse comando não funcionou então 
usei  o pacote rgdal
Error in .asSpatialPolygonsShapes(Map$Shapes, IDs, proj4string = 
proj4string,  :
   Not polygon shapes

cwb<-readOGR("div_municipal.shp",layer="div_municipal")

######## Carregando dados de mortalidade neonatal
neo <- read.table('neo_contr1.txt',h=T)

### Plotando o mapa de Curitiba
plot(cwb)
bbox(cwb)
### Inserindo os controles
points(neo$XCOORD[neo$Y==0],neo$YCOORD[neo$Y==0],col='darkgreen',cex = 0.5)
### Inserindo os caso
points(neo$XCOORD[neo$Y==1],neo$YCOORD[neo$Y==1],col='red',cex = 0.5)


###### Ajustando modelo GAM
#models <- gam(neo$Y ~ 
neo$PESO+neo$GESTACAO+neo$IDADEMAE+neo$QTDFILVIVO+neo$PARTO+s(neo$XCOORD,neo$YCOORD, 
k=10, bs="tp"),family=binomial,data=neo)
models <- gam(neo$Y ~ +s(XCOORD,YCOORD, k=10, 
bs="tp"),family=binomial,data=neo)
summary(models)

## Fazendo a grid
gx <- seq(662024.4,  682643,l=50)
gy <- seq(7162652.4, 7195542,l=50)
gr <- expand.grid(gx,gy)
XCOORD <- gr$Var1
YCOORD <- gr$Var2

### criando data frame para predição
ndados <- data.frame(XCOORD, YCOORD); head(ndados)
pred <- predict(models,ndados,type="response",se.fit=TRUE)
pred <- data.frame(pred)
plot(cwb)

## image
image(gx,gy,matrix(pred$fit,ncol=50,nrow=50), asp=0, 
col=heat.colors(3,alpha=.5),
       main="Thin Plate Splines com 128 pontos",
       xlab="Coordenada X", ylab="Coordenada Y" )

plot(cwb,add=T)
#points(neo$XCOORD,neo$YCOORD,pch=19,cex=0.5,col="white")

##vis.gam
vis.gam(models,plot.type="contour",view=c('XCOORD','YCOORD'),asp=1,ylim=c(7160000,7200000), 
main="Usando Thin Plate",
color='cm')
plot(cwb,add=T)







-- 
Atenciosamente
Felipe E. Barletta Mendes
Estatístico - Conre3 9766-A
+55 (41)-92077191
+55 (41)-33287216



Mais detalhes sobre a lista de discussão R-br