##Abrir o aRT require (aRT) ##Conectar com o MYSQL con=openConn() ##Apagar banco já existente if(any(showDbs(con)=="geomedicina")) deleteDb(con, "geomedicina", force=T) ##Criar novo banco db=createDb(con, "geomedicina") ##Criar novo layer proj="+proj=latlong +ellps=GRS67 +towgs84=-66.8700,-4.3700,-38.5200" l=createLayer(db, "Parana", proj=proj) ##Adicionar o contorno do Paraná addShape(l, tab="Parana", file="parana_pol.shp", id="CODIGO", length=10) ##Ler tabela de dados químicos agua<-read.table("agua2.csv", header=T, sep=";") grade<-read.table("grade.csv", header=T, sep=";") ##Plotar os dados juntos poly=getPolygons(l) aRTplot(poly) #points(grade$LONGITUDE, grade$LATITUDE, pch=20, cex=0.3, col="blue") points(agua$LONGITUDE, agua$LATITUDE, pch=16, cex=0.3) #showTables(l) require(foreign) atr=read.dbf('41mu2500gc.dbf') #atr2=read.dbf('parana_pol.dbf') names(atr)[1]='CODIGO' microgeom=list() micro=unique(atr$MICROREGIA) for(i in 1:length(micro)) { # selecionando municipios dentro da regiao i id=as.character(atr$CODIGO[which(atr$MICROREGIA == micro[i])]) cat(paste("Processando microregiao",micro[i], "com",length(id), "municipios\n")) # unindo os poligonos dos municipios para formar pol. da regiao set=getSetOperation(l,"union",id=id) set@polygons[[1]]@ID = paste(micro[i]) # adicionando ao objeto (list) das regioes microgeom[i] = set@polygons aRTplot(set, col=terrain.colors(length(micro)+1)[i+1], add=T, lwd=2) } aRTplot(poly, add=T) #convertendo para classe SpatialPolygons res = SpatialPolygons(microgeom, 1:length(microgeom)) # insere os dados das micro-regioes, e cria temas para visualizacao l2=createLayer(db,l="microreg", proj=proj) addPolygons(l2, res) aRTplot(res) points(agua$LONGITUDE, agua$LATITUDE, pch=16, cex=0.3) #idf <- which(sapply(agua, class)=='factor') #idf #sapply(agua[, idf], levels) require(splancs) #agua2 <- agua #agua2[agua=="-9.999.990.000"] <- NA #for (i in 8:ncol(agua2)) # agua2[,i] <- as.numeric(as.character(agua2[,i])) #head(agua2) aguadbf=read.dbf('lgqbd_agua.dbf') id.numer <- which(sapply(aguadbf, is.numeric)) id.numer medias <- t(sapply(1:39, function(i) { id <- which(inout(cbind(agua$LONGITUDE, agua$LATITUDE), res@polygons[[i]]@Polygons[[1]]@coords)) sapply(aguadbf[id, id.numer], mean) })) dim(medias) colnames(medias) rownames(medias)=t(sapply(1:39,function(i){res@polygons[[i]]@ID})) rownames(medias) atr$ID=unique(trunc(atr$CODIGO/10)) require(foreign) dados <- read.csv("hepcancer.csv", h=T) head(dados) n=nrow(dados) dados$MICROREGIA=NULL for(i in 1:n) { # selecionando municipios dentro da regiao i ap=as.character(atr$MICROREGIA[which(atr$ID == dados$id[i])]) dados$MICROREGIA[i]=ap } pop.MICROREGIA=by(dados$pop2005,dados$MICROREGIA,sum) cancer.MICROREGIA=by(dados$cancer,dados$MICROREGIA,sum) hep.MICROREGIA=by(dados$hepatite,dados$MICROREGIA,sum) taxa.MICROREGIA=cancer.MICROREGIA/pop.MICROREGIA*100000 summary(cancer.MICROREGIA) estat=as.data.frame(medias) estat$taxa.MICROREGIA=rep(0,39) estat$pop.MICROREGIA=rep(0,39) estat$cancer.MICROREGIA=rep(0,39) estat$hep.MICROREGIA=rep(0,39) for(i in 1:39) { id=which(rownames(medias)== names(taxa.MICROREGIA)[i]) estat$taxa.MICROREGIA[id]=taxa.MICROREGIA[i] estat$pop.MICROREGIA[id]=pop.MICROREGIA[i] estat$cancer.MICROREGIA[id]=cancer.MICROREGIA[i] estat$hep.MICROREGIA[id]=hep.MICROREGIA[i] } par(mfrow=c(2,2)) for (i in 1:4) plot(estat[,i+3],estat$taxa.MICROREGIA) for (i in 5:8) plot(estat[,i+3],estat$taxa.MICROREGIA) for (i in 9:12) plot(estat[,i+3],estat$taxa.MICROREGIA) for (i in 13:16) plot(estat[,i+3],estat$taxa.MICROREGIA) for (i in 17:20) plot(estat[,i+3],estat$taxa.MICROREGIA) for (i in 21:24) plot(estat[,i+3],estat$taxa.MICROREGIA) for (i in 25:28) plot(estat[,i+3],estat$taxa.MICROREGIA) for (i in 29:31) plot(estat[,i+3],estat$taxa.MICROREGIA) #estat[,-c(8,10,12,24)] e=estat$pop.MICROREGIA*sum(estat$cancer.MICROREGIA)/sum(estat$pop.MICROREGIA) estat$e=e cbind(estat[,37:38],estat[,37]-estat[,38]) fit=step(glm(cancer.MICROREGIA~hep.MICROREGIA+AL_MG_L+B_MG_L+BA_MG_L+BR_MG_L+CA_MG_L+CD_MG_L+CL_MG_L+CO_MG_L+CONDUT+CR_MG_L+CU_MG_L+F_MG_L+FE_MG_L+GA_MG_L+IN_MG_L+K_MG_L+LI_MG_L+MG_MG_L+MN_MG_L+MO_MG_L+NA_MG_L+NI_MG_L+NO2_MG_L+NO3_MG_L+PB_MG_L+PH+PO4_MG_L+SO4_MG_L+SR_MG_L+TL_MG_L+V_MG_L+ZN_MG_L,data=estat,family=poisson,offset=log(e))) summary(fit) # melhor modelo de efeitos principais fit=step(glm(cancer.MICROREGIA~hep.MICROREGIA+ AL_MG_L + B_MG_L + F_MG_L + LI_MG_L + MN_MG_L + PH + PO4_MG_L,data=estat,family=poisson,offset=log(e))) summary(fit)