[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