Não foi possível enviar o arquivo. Será algum problema com as permissões?
Dados e Mapas

Dados e Mapas

São ilustrados aqui como obter, importar, manipular, combinar e visualizar em mapas temáticos dados públicos do IBGE e DadaSUS

Lembrar de mudar diretorio de trabalho se necessário

setwd("...")

Primeiro vamos obter um arquivo de mapa do IBGE:

O mapa foi carregado do site do IBGE em 
 <Geociências> + <Mapeamento das unidades territoriais> + <Produtos> + <Malha municipal digital 2007> (clicar no disquete de 2007) 
 Na nova janela:
 Escolha E500, E100 ou E2500
 Escolha uma projeção .Usado: Proj_Geografica
 Escolha um formato. Usado: ArcView_shp
 Escolha um nível territorial. 
 Escolha a unidade territorial.  

Salve os arquivos com extensão .shp, .shx e .dbf

Carregando pacotes maptools e sp

require(maptools)
require(sp)

Lendo o mapa no (Site do IBGE pode ser demorado. Os arquivos 12mu500gc* podem ser compiados daqui)

ac <- readShapePoly("12mu500gc") 
 
### visualizando
plot(ac)
 
### atributos dos municipios (variáveis)
names(ac)
 
### atributos/elementos do objeto
names(attributes(ac))
 
### bounding box
bbox(ac)
 
### inspecionando os atributos (dados) dos municípios
dim(ac@data)
ac@data[1:3,]

Obtencao dos dados do  [[http://www.datasus.gov.br|datasus]]
 - clicar em <Informacoes de Saude> 
 - clicar em <Demograficas e Socioeconomicas>   
 - Clicar em Abastecimento de agua - 1991, 2000
 - Selecione Brasil por Municipio 
 - Montar a tabela assim:
 - Linha: Muncipio <Todas as categorias>
   - Coluna: Abastecimento de Agua
   - Conteudo: Moradores
 - Clicar em Formato: <Tabela com bordas> e <Mostra> (no final da pg.)
 - Após os dados serem mostrados, clicar em <Copia com o .CSV> e salvar o arquivo

Alternativamente aqui os dados de abastecimento de agua, do arquivo obtidos a partir do site do DATASUS

agua <- read.csv2("A104241200_17_213_55.csv", skip=3)
 
system("file -bi A104241200_17_213_55.csv")
## encondings em diferentes sistemas!
 
dim(agua)
agua[1:3,]
</code
 
Combinando as bases. Notar que é necessário colocar dados na mesma ordem do mapa.
 
<code R>
### extraindo o codigo de municipios dos dados
codmund <- substr(as.character(agua[,1]), 1, 6)
codmund[1:3]
 
### extraindo o código do mapa com apenas 6 digitos
ac@data[1:3,]
cod6map <- substr(as.character(ac@data[,1]), 1, 6)
head(cod6map, 3)
 
### selecionando os dados do ACRE
### e preservando a ordem do mapa
odat <- merge(data.frame(cod=cod6map),
              data.frame(cod=codmund, agua[,-1]), sort=FALSE)
dim(odat)
names(odat)
table(odat$cod==cod6map) ### verifica ordem
 
### adiciona os dados ao SpatialPolygons
ac@data <- data.frame(ac@data, odat[,-1])
 
### proporcao de rede geral
ac@data$prg <- (odat[,2]+odat[,3])/odat[,10]
spplot(ac, "prg")
spplot(ac, "prg", col.regions=heat.colors(16))
 
### visualiza no mapa
 
### criando 3 categorias
cat3 <- findInterval(ac$prg, c(0, .12, .25, 1))
table(cat3)
 
### três cores
cores3 <- c("red", "orange", "yellow")
 
### plotando o mapa temático
par(mar=c(0,0,0,0))
plot(ac, col=cores3[cat3])
legend("topright", leglabs(c(0,12,25,1), "<", ">"),
       fill=cores3, bty="n", cex=2)

Uma análise:

### carrega pacote spdep
require(spdep)
 
args(EBImoran.mc)
nb <- poly2nb(ac)
nb
 
plot(nb, coordinates(ac), add=T)
nbw <- nb2listw(nb)
 
eb <- EBImoran.mc(odat[,10], odat[,2]+odat[,3], nbw, 999)
eb

HELP !!!

help(EBImoran.mc)  ## ou simplesmente ?EBImoran.mc
## tipos: "text", "html", "postscript", "ps", "pdf". 


QR Code
QR Code cursos:mct:exemplo3 (generated for current page)