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

Essa é uma revisão anterior do documento!


Exemplo do Banco do Saudavel

Exemplo do Banco do Saudavel

require(aRT)

1. conectando ao banco de origem dos dados e importando dados desejados para o R

Abrindo a conexão <code R> cnn ← openConn(user="curso", pass="fiocruz", host="guaja.est.ufpr.br", port=3306) showDbs(cnn) </code R>

Abrindo e inspecionando o conteúdo o Banco <code R> db ← openDb(cnn, "saudavel", up=T ) db </code R>

Abrindo o Layerdas armadilhas <code R> la ← openLayer(db, "LAYER_ARMADILHAS") la </code R>

Abrindo a tabela Coletas <code R> coleta ← openTable(la, "COLETAS") coleta </code R>

Puxando os dados da tabela coleta - "COD_ARMADILHA", "DATA_COLETA", "NRO_OVOS" <code R> aed ← getData(coleta)[c("COD_ARMADILHA", "DATA_COLETA", "NRO_OVOS")] dim(aed) names(aed) </code R>

Formatando como Data <code R> aed$DATA_COLETA ← as.Date(aed$DATA_COLETA)

vendo o período de dados disponíveis) range(aed$DATA_COLETA) </code R>

Definindo os 4 Grupos das armadilhas <code R> aed$GRUPO ← substr(aed$COD_ARM, start=ifelse(nchar(aed$COD_ARM) == 5,3,4),

                               stop=ifelse(nchar(aed$COD_ARM) == 5,3,4))
                               

## Definindo códigos para os bairros aed$BAIRRO ← substr(aed$COD_ARM, 1, ifelse(nchar(aed$COD_ARM)==5, 2, 3))

head(aed) </code R>

Pegando os pontos (coordenadas das armadilhas) <code R> pts ← getPoints(la) pts[1:10,] # em formato sp: SpatialPointsDataFrame head(coordinates(pts)) # em formato de matriz </code R>

Pegando os polígonos ## Abrindo o Layer de Poligonos dos bairros <code R> lb ← openLayer(db, "IBGE_Bairros") aed.poly ← getPolygons(lb) ## formato sp (SpatialPolygons) </code R>

Se quiser convertar para uma lista de polygonos para facilitar a manipulação do objeto… <code R> poly_bai ← sapply(1:94, function(x)poly_bai@polygonsx@Polygons1@coords) </code R>

Criando um objeto separando por bairro e por data: <code R> aed.armas ← split(aed, aed$COD_ARMADILHA) names(aed.armas) </code R>

2. algumas análises descritivas no R

Plotando dados da evolução de ovos de uma armadilha: <code R> plot(aed.armas5$NRO_OVOS, type="l", xaxt="n", xlab="", ylab="Total de Ovos") labels ← aed.armas1$DATA_COLETA text(1:length(labels), par("usr")[3] - 0.25, srt = 90, adj = 1,labels = labels,

   xpd = TRUE, cex = 0.6)

mtext(side=1, line=3, "Data") ## veja o gráfico! </code R>

Criando uma função para plotar graficos da evolução do número de ovos nas armadilhas… <code R> plot.arma ← function(arma, log = F, …) {

plot(if(!log)aed.armas[[arma]]$NRO_OVOS else log(aed.armas[[arma]]$NRO_OVOS+1),
     type="l", xaxt="n", xlab="", ylab="Total de Ovos", ...)
labels <- aed.armas[[arma]]$DATA_COLETA
text(1:length(labels), par("usr")[3] - 0.25, srt = 90, adj = 1,labels = labels,
     xpd = TRUE, cex = 0.6)
mtext(side=1, line=3, "Data")
title(unique(aed.armas[[arma]]$COD_ARMADILHA))
invisible()

} </code R>

… e gerando os gráficos para o Bairro BT (ver a tela grafica do R) <code R> plot.arma("BT101") sapply(names(aed.armas)[1:80], plot.arma) </code R>

Gerando arquivos com estes resultados (para todas armadilhas de todos os bairros) <code R> dir.create("armaPlots") getwd() basedir ← getwd() setwd("armaPlots") getwd() sapply(names(aed.armas),

     function(x){
       jpeg(paste(x, ".jpg", sep=""))
       plot.arma(x)
       dev.off()
     })

## veja que os arquivos são criados no diretório (demora um pouco…) ## digite na linah de comando do LINUX: $ ls armaPlots setwd(basedir) getwd() </code R>

3. criando um "novo" banco de dados (no caso em outro DBMS local, mas poderia ser no orginal tb)

conexão com o banco local <code R> cloc ← openConn() cloc </code R>

Criando novo banco <code R> BDuser ← "myDengue" </code R>

Apaga banco pré-existente (se houver) e cria novo banco ("light") <code R> if(any(showDbs(cloc) == BDuser)) deleteDb(cloc, BDuser, force=T)

dblight = createDb(cloc, BDuser) dblight </code R>

Pegando mais alguns dados que usaremos no novo banco
Pegando a projeção (poderia definir se desejado – formato proj4) <code R> proj=getProj(la) proj </code R>

Trazendo tabelas para o R (Exportação das tabelas do banco para o R)
Note os tipos de tabelas existentes neste layer! <code R> tab=openTable(la, "ARMADILHAS") tab tab2=getData(tab) </code R>

Criação do Layer ARMADILHAS no novo banco <code R> l1=createLayer(dblight,"LAYER_ARMADILHAS", proj=proj) l1 </code R>

Adicionando as coordenadas dos pontos (armadilhas) no banco <code R> addPoints(l1, pts) l1 </code R>

Adicionando a tabela estática (Importação pelo banco da tabela estática) <code R> importTable(l1,"ARMADILHAS", id="COD_ARMADILHA", data=tab2) l1 </code R>

Adicionando uma tabela de mídia com os graficos das evoluções de ovos nas armadilhas
Criar tabela de mídia <code R> midia=createTable(l1, type="media") </code R>

Adicionar dados à tabela de mídia <code R> url ← data.frame(object_id = sort(unique(aed$COD_ARMADILHA)),

                media_names = paste(system("echo $PWD", intern=T), "/armaPlots/",
                  sort(unique(aed$COD_ARMADILHA)), ".jpg",sep=""))

url[1:10,] addRows(midia, url) </code R>

Criando vistas e temas para a TV
Criar tema para visualizar os relatórios <code R> th=createTheme(l1, "Coletas", table="ARMADILHAS", view="armas") </code R>

  1. abrir o TV
  2. abrir um navegador (mozilla ou outro)
  3. dar um zoom num bairro
  4. selecionar um ponto e exibir a "media default"

QR Code
QR Code software:art:curso:scriptleitura (generated for current page)