Capítulo 3 Consumindo Dados

“Tidy datasets are all alike, but every messy dataset is messy in its own way.” –– Hadley Wickham

Apresentaremos no capítulo de fundamentação o que é necessário para compreender um conceito que vai acompanhar a análise por todo o livro: o conceito de tidy data ou dado contextualizado, em tradução livre.

3.1 O que é tidy data?

Hadley Wickham apresenta esse conceito no artigo Tidy Data, que busca endereçar o problema do tratamento de dados.

Conjuntos de dados que seguem filosofia tidy apresenta uma estrutura organizada da informação que é conectada diretamente ao seu significado (semântica). O núcleo da informação organizada contextualmente é a apresentação da informação em um dataset (matriz) que sempre obedece as seguintes 3 regras:

  • Cada variável deve estar presente em uma única coluna (sem informações repetidas em mais de uma coluna)
  • Cada observação está presente em uma linha. Um conjunto de variáveis que representa uma observação do conjunto está contido em somente uma linha.
  • Cada valor representadom no dataset está presente em uma única célula.

O Tratamento de dados obedecendo as 3 regras acima representa um esforço bastante útil para otimizar o tempo da análise de dados que, segundo alguns autores, chega a consumir até 80% de todo o esforço de análise de dados.

As 3 regras acima são interrelacionadas: é impossível cumprir 2 delas e não cumprir a terceira.

R apresenta um tipo de estrutura de dados chamado de tibble para o armazenamento das informações em um contexto tidy.

Para explorar o pacote tibble vamos instanciar o tidyverse:

## ── Attaching packages ────────────────────────────────── tidyverse 1.2.1 ──
## ✔ ggplot2 3.1.0       ✔ purrr   0.3.2  
## ✔ tibble  2.1.3       ✔ dplyr   0.8.0.1
## ✔ tidyr   0.8.3       ✔ stringr 1.4.0  
## ✔ readr   1.3.1       ✔ forcats 0.4.0
## ── Conflicts ───────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()

Para criar um dataset do tipo tibble podemos realizar a construção através do método construtor:

## # A tibble: 5 x 3
##       x     y     z
##   <int> <dbl> <dbl>
## 1     1     1     2
## 2     2     1     5
## 3     3     1    10
## 4     4     1    17
## 5     5     1    26

Aqui, temos uma clara vantagem de se usar tibble sobre data.frames comuns: Ao contrário dos data.frames, os campos instanciados durante a construção de um novo tibble não tem seu formato alterado. Isso significa um melhor controle da informação, sem as confusões causadas pelas mudanças de tipo de dado.

3.2 Qualificando os Dados

Falar sobre “Sampling and Data Analysis in R” file:///Users/rodrigo/Downloads/Lab2.pdf

3.3 Lendo as Fontes de Dados

3.4 Ciclo de Vida do Dado

3.5 A LGPD