Commit f0864aa2 authored by Oswaldo's avatar Oswaldo

Merge branch 'master' of gitlab.procc.fiocruz.br:oswaldo/DS_2017

parents 20d914c1 4751878e
......@@ -287,13 +287,13 @@ Supondo que você necessita desses dados é possível extrair os dados por estad
library(XML)
url <- 'http://www.brasil.gov.br/saude/2016/04/brasil-tem-1-168-casos-de-microcefalia-confirmados'
micro <- readHTMLTable(url) # Le a tabela, a função retorna uma lista!
micro <- micro[[1]][-c(1,2),] # remove as linhas adicionais no Início
names(micro) <- c('Local','Investgados','Confirmados','Descartados','Total') # da nomes as colunas importadas
......@@ -325,7 +325,7 @@ aqui podemos fazer diferentes escolhas.
3. criar um nova coluna e ordenar
m2$Local <- micro.uf$Local
m2 <- m2[,c(5,1:4)]
m2 <- m2[,c(5,1:4)]
Como se pode ver acima foi bem "fácil" ler a tabela usando **readHTMLTable** no entanto colocar o dado pronto para ser trabalhado exige vários passos adicionais.
......@@ -372,7 +372,7 @@ Para obter no **R** esses dados vamos adicionar a linha acima a URL de chamada
library(RCurl)
library(jsonlite)
q <- "http://api.sidra.ibge.gov.br/values/t/136/p/2010/v/93/c86/all/n9/all"
resp <- fromJSON(q,simplifyDataFrame = TRUE)
......@@ -517,7 +517,7 @@ E se quisermos salvar apenas um objeto? em geral quando trabalhamos no **R** pro
save(dados,'backup.Rdata')
O comando acima salva somente o objeto de nome *dados* e seu conteúdo ficara armazenado no arquivo de nome '*backup.Rdata*' .
Caso queira salvar mais de um arquivo basta separa o nome deles com vírgulas
......@@ -527,41 +527,43 @@ Caso queira salvar mais de um arquivo basta separa o nome deles com vírgulas
Para carregar novamente os dados, por exemplo, no dia seguinte use a função **load**
load('backup.Rdata')
As vantagens do formato nativo do **R** são:
* o arquivo é pequeno pois o **.RData** é compactado
* a carga do objeto é muito rápida quando se comparada a importação
* não ha necessidade de se passar por todo o processo de importar o dado.
* ajuda a torna o processo de análise reprodutível
Para dados pequenos ou médios não há grandes problemas , mas quando trabalhamos com bases maiores pode ser vantajoso armazenar no **sgdb**. Imagine que você tem um banco que ocupa 2Gbytes de RAM ao ser carregado no **R** e onde vários procedimentos de gerenciamento do dado serão realizados , muito desses procedimentos necessitam muitas vezes alocar a mesma quantidade de memória que o banco ocupa. Assim, nesse exemplo digamos que você possui uma máquina com 8 Gbytes de RAM, parece muito, mas ao usar um objeto de 2 Gb, limpando, criando subsets você rapidamente verá que sua máquina fica lenta, pois não se esqueça que além do **R** o sistema operacional, e demais softwares abertos também consumem muita memória (especialmente se você usa windows)
vamos supor que você tem um banco grande, que está no **R** e foi importado e já está pronto para ser analisado. no entanto você opta por armazenar no *SQLITE* como já foi visto no item 3. seu objeto se chama *bigbanco* e você quer criar a tabela *big* na base de dados *base*
library(RSQLite)
conecta <- dbConnect(RSQLite::SQLite(), "base.sqlite")
dbWriteTable(conecta,"big",bigbanco)
dbListTables(canecta)
no dia seguinte basta ler o banco, e quem sabe fazer um subset para escolher as "causas"
library(RSQLite)
con <- dbConnect(RSQLite::SQLite(), "base.sqlite")
dados <- dbGetQuery(con,"SELECT * FROM big WHERE dt_evento BETWEEN "2008-01-01" AND "2016-12-31";
#### Exercícios propostos
1. a URL abaixo possui dados de todas as UBS em funcionamento. baixe os dados que sa um CSV separados por ';' e conte o numero de UBS por UF
'http://sage.saude.gov.br/paineis/ubsFuncionamento/lista.php?output=csv&'
2. Transforme os campos lat e long em numerico
3. Salve em formato *.Rdata*
......@@ -570,6 +572,6 @@ As vantagens do formato nativo do **R** são:
......@@ -23,3 +23,4 @@ filter(resp,fetar!='FX_Total') %>%
geom_bar(aes(fill = sexo), position = "dodge", stat="identity") +
coord_flip() +
facet_wrap(~censo)
......@@ -11,7 +11,7 @@ cadmun <- dbGetQuery( canal, "SELECT * FROM CADMUN WHERE UFCOD='33' ")
library(tidyverse)
library(lubridate)
dorj <- dorj %>%
dorj <- dorj %>%
mutate (dtobito = dmy(dtobito),
mes = month(dtobito,label=TRUE))
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment