Indo além na organização de dados usando o R com tidyverse

Beatriz Milz

XVIII Congresso Brasileiro de Limnologia | Outubro 2022

Slides: beatrizmilz.github.io/2022-cblimnologia

Beatriz Milz 🇧🇷

  • Contato

  • Sobre mim

    • Co-organizadora: R-Ladies São Paulo / Latin-R / satRday São Paulo

    • Professora na Curso-R

    • Instrutora de Tidyverse certificada pela RStudio

Formação

Tarefas iniciais

Caso não tenha, crie uma conta no serviço:

Dica: Você pode criar uma conta vinculada ao Gmail ou GitHub.

Objetivos de aprendizagem

  • O minicurso é destinado a pessoas que já tem um conhecimento básico sobre tidyverse e dplyr (como selecionar colunas, filtrar linhas, ordenar linhas, agrupar e sumarizar) e querem aprender mais.

  • O foco minicurso será realizado com exemplos práticos.

  • Falaremos sobre boas práticas também!

tidyverse

Sobre esse tutorial….

Faremos muita prática!

Tem novidades surgindo com frequência!

Reprodutibilidade

Vamos usar um projeto do RStudio

Dicas gerais

  • Não use caracteres especiais para nomear arquivos, pastas, variáveis, colunas, funções, e por aí vai!

  • Use projetos do RStudio. Crie um .Rproj para cada projeto. Dentro deste projeto, guarde de forma organizada os arquivos relacionados à este projeto.

  • Tenha uma pasta de dados brutos (ex. data-raw/) e dados tratados (ex. data/). NÃO MISTURE!

  • Sempre que receber/baixar uma nova base de dados, NÃO FAÇA ALTERAÇÕES MANUALMENTE NOS DADOS BRUTOS!

  • Pense sempre na reprodutibilidade :)

Conceito importante: tidy data

Conceito importante: tidy data

Conceito importante: tidy data

Conceito importante: tidy data

Dados

  • A base de dados que usaremos foi extraída do sistema INFOAGUAS/ CETESB

  • Dados de qualidade de águas superficiais no Estado de SP.

  • 2008 à 2022, Fósforo total e clorofila-a, pontos na Represa Billings.

Importar os dados

Importando vários arquivos de uma vez

Importando apenas uma das base de dados:

infoaguas_exemplo <- readxl::read_xlsx("dados-brutos/RelatorioQualidadeAguasSuperficiais_clorofila-a_2008-2012.xlsx")
  • Importar muitos arquivos: na prática!

Conhecendo a base de dados

dplyr::glimpse(infoaguas_exemplo)
Rows: 102
Columns: 26
$ `Período DE`              <chr> "01/01/2008", "01/01/2008", "01/01/2008", "0…
$ `Período ATE`             <chr> "31/12/2012", "31/12/2012", "31/12/2012", "3…
$ Cod_Interaguas            <chr> "1386", "1386", "1386", "1386", "1386", "138…
$ `Tipo Rede`               <chr> "Rede Básica", "Rede Básica", "Rede Básica",…
$ UGRHI                     <chr> "06 - ALTO TIÊTE", "06 - ALTO TIÊTE", "06 - …
$ `Código Ponto`            <chr> "BILL02030", "BILL02030", "BILL02030", "BILL…
$ `Status Ponto`            <chr> "Ativo", "Ativo", "Ativo", "Ativo", "Ativo",…
$ `Data Coleta`             <chr> "22/01/2008", "26/03/2008", "14/05/2008", "1…
$ `Hora Coleta`             <chr> "11:20", "11:22", "12:30", "11:50", "11:20",…
$ Parametro                 <chr> "Clorofila-a", "Clorofila-a", "Clorofila-a",…
$ Sinal                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ Valor                     <chr> "18,71000000", "28,87000000", "31,19000000",…
$ Unidade                   <chr> "µg/L", "µg/L", "µg/L", "µg/L", "µg/L", "µg/…
$ `Tipo Parâmetro`          <chr> "5- Hidrobiológicos", "5- Hidrobiológicos", …
$ `Sistema Hídrico`         <chr> "Reservatório Billings - BILL", "Reservatóri…
$ `Tipo de Sistema Hídrico` <chr> "Reservatório (Lêntico)", "Reservatório (Lên…
$ CLASSE                    <chr> "Classe 2", "Classe 2", "Classe 2", "Classe …
$ Município                 <chr> "SÃO PAULO", "SÃO PAULO", "SÃO PAULO", "SÃO …
$ UF                        <chr> "SP", "SP", "SP", "SP", "SP", "SP", "SP", "S…
$ `Inicio Operação`         <chr> "01/01/2007", "01/01/2007", "01/01/2007", "0…
$ `Fim Operação`            <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
$ Latitude                  <chr> "23 43 04", "23 43 04", "23 43 04", "23 43 0…
$ Longitude                 <chr> "46 39 51", "46 39 51", "46 39 51", "46 39 5…
$ Altitude                  <chr> "743", "743", "743", "743", "743", "743", "7…
$ Localização               <chr> "No meio do corpo central, cerca de 1,5 km d…
$ Captação                  <chr> "N", "N", "N", "N", "N", "N", "N", "N", "N",…

Informações úteis: quais variáveis temos? qual é o nome das colunas? qual é o tipo das colunas?

Outras perguntas: Qual é o formato da base de dados? Qual é a unidade amostral (o que cada linha representa)?

Limpar a base de dados

Arrumar o nome das colunas utilizando padrões

Criar novas colunas a partir dos dados

Criar novas colunas a partir dos dados

Aplicar uma transformação em várias variáveis de uma vez

Criar novas colunas a partir dos dados

Transformar formato da base

Transformar formato da base

Melhorar a estrutura do resultado de um modelo

Onde aprender mais…