1 Setup

O minicurso “R pragmático” é baseado no tidyverse (universo “arrumado”), um conjunto de pacotes do R que auxiliam o estatístico / cientista de dados na execução de diversas tarefas corriqueiras de forma eficiente e unificada. Pense em eficiência, mas não no sentido de velocidade de execução de algoritmos, mas sim na velocidade de solução de problemas.

Atualmente, o melhor lugar para aprender sobre o tidyverse é no livro R for data science. Nesse minicurso abordamos partes desse livro e adicionamos outros, como práticas de modelgem preditiva e estudos de caso.

Público-alvo

  • Estudantes de graduação em estatística que desejam ganhar tempo nos trabalhos da faculdade e entrar no mercado de trabalho com bons diferenciais.
  • Profissionais do mercado de trabalho que desejam inserir o R mo fluxo de atividades do setor/empresa.
  • Acadêmicos com interesse em tornar suas análises e códigos mais legíveis, reprodutíveis, eficientes e organizados.

Workflow das aulas:

  • Aulas no laboratório de computação (CEC). Não precisa (mas pode) levar notebook.
  • Exercícios durante as aulas.
  • Leituras complementares e opcionais fora da sala de aula.

Requisitos básicos:

Conteúdo:

  • Primeiro dia (04/10): introdução ao tidyverse, o operador pipe, trabalhando textos com stringr, trabalhando datas com lubridate.
  • Segundo dia (05/10): transformação de dados com dplyr e tidyr, visualização de dados com ggplot2.
  • Terceiro dia (06/10): elaboração de relatórios com knitr e rmarkdown, modelagem preditiva (parte 1).
  • Quarto dia (07/10) modelagem preditiva (parte 2), case studies e feedback. R for Data Science

Não vamos falar de:

  • Programação eficiente com R. Para isso, veja esse livro, que aborda temas importantíssimos como profiling, paralelização, Rcpp.
  • Estudos envolvendo “big data”. Para isso estude sobre sparklyr e tensorflow e mongodb.

1.1 Diferenças entre C/C++ e R

Na análise realizada na Seção 3 notei que boa parte dos inscritos têm background em C/C++. Em uma comparação simples, o foco do C é eficiência e transparência, enquanto o do R é análise de dados e interatividade. Isso faz com que as duas linguagens sejam bem diferentes!

Na prática, temos que

  • C é compilável, R é uma linguagem script.
  • R é uma linguagem funcional. Por exemplo, (, & e + são funções do R.
  • R é vetorizado. Observe esse sacrilégio
a <- c(1, 2, 3)
b <- c(1, 2, 3, 4, 5, 6)
a + b 
## [1] 2 4 6 5 7 9

Sim, isso funciona! O que acontece aqui é o fenômeno da recliclagem de vetores do R. Caso não esteja acostumado com essas idiossincrasias do R, veja essa aula.

  • Você raramente usará loops (for, while) no R. Eles são ineficientes e não combinam com o estilo funcional da linguagem. Busque sempre realizar as operações com vetores, pois a maioria delas são implementadas em C e, portanto, mais eficientes.

1.2 Pacotes

Se você não está no CEC, precisará instalar alguns pacotes para acompanhar o curso. Para instalar todas as dependências, rode

install.packages('devtools')
devtools::install_github('curso-r/ragmatic')

Para visualizar todos os documentos que compõem esse livro, acesse essa página.