Photo by Pixabay from Pexels

Um roadmap de materiais para aprender R em 2020

Uma das coisas mais legais da comunidade que utiliza R é a geração de muitos materiais e tutoriais com exemplos reproduzíveis. Ao longo dos últimos meses utilizando R para uma série de diferentes aplicações, comecei a coletar links e materiais que poderiam ser interessantes para aprendizado e consulta.

Então nesse post apresento uma seleção de materiais, todos gratuitos e em sua maioria livros online produzidos por pessoas relevantes no cenário do R no Brasil e no mundo.

Separei os materiais na ordem em que eu acredito que devem ser estudados, indo dos materiais mais básicos até aplicações mais avançadas, assim como agrupando por temáticas.

Disclaimer: A maioria dos materiais apresentados aqui está em inglês, se você ainda não se sente confortável para ler diretamente em inglês use uma ferramenta para tradução das páginas. Uma solução fácil é utilizar o Google Chrome como navegador e aplicar a tradução automática direto nas páginas, se você tiver dúvida de como fazer isso é só clicar nesse link.

Lembre-se, é importante sempre consultar fontes originais, portanto não fuja de materiais em Inglês, essa é uma skill essencial para se desenvolver nesse meio. Em muitos casos é melhor consultar uma tradução de uma fonte original do que deixar de consultar a fonte, use essa alternativa até se sentir a vontade para ler diretamente =D

Como começar?

Nessa seção vou indicar materiais introdutórios e mais abrangentes, que ensinam um pouco de tudo dentro da área de Ciência de Dados para quem está começando.

. . .

Material da galera do Curso-r

Quem já leu algo aqui no blog sabe que eu sempre recomendo esse material para inciantes em R, o Curso-r é uma empresa brasileira que da cursos de R (não podia ser mais óbvio), e eles elaboraram esse material gratuito e aberto que serve como uma guia, indo desde de a instalação até Web Scraping.

O material é acessível online e funciona como um livro separando o conteúdo por capítulos, a seção de R básico é sensacional, guiando iniciantes nesse novo mundo.

📘 Link: http://material.curso-r.com/

 


 

R for Data Science

Este é outro material muito indicado, escrito por ninguém menos que o próprio Hadley Wickham em conjunto com o Garrett Grolemund. Ambos trabalham na Rstudio, e o Hadley é uma lenda viva na nossa comunidade, sendo responsável pelo desenvolvimento de diversos pacotes extremamente populares, além de ser o cientista chefe da Rstudio. Esse livro aborda toda a parte introdutória de Ciência de Dados utilizando o R como plataforma, passando por todas as etapas.

É sem duvidas um dos melhores materiais para indicar para quem está começando nesse mundo. Você será introduzido ao conceito de Tidy data, aprenderá sobre visualização, modelagem e comunicação de resultados.

📘 Link: https://r4ds.had.co.nz/

 


 

R Programming for Data Science

Outro livro nessa mesma temática é o R Programming for Data Science, assim como os demais materiais você lê online e sem nenhum custo. O livro cobre desde o básico até tópicos mais avançados, como computação paralela. Esse material foi escrito pelo Prof. Roger D. Peng da Universidade Johns Hopkins.

 

📘 Link: https://bookdown.org/rdpeng/rprogdatascience/

 

 

 


 

STAT 545

Esse é outro livro introdutório para quem quer trabalhar com R, escrito por Jenny Bryan, uma das principais desenvolvedores na equipe da Rstudio, responsável por pacotes fantásticos, como o incrível usethis. Esse livro foi escrito originalmente como material para o curso STAT 545 da Universidade de British Columbia e aborda desde a instalação dos softwares, controle de versão, análise de dados, um pouco de Shiny, entre outros tópicos.

 

📘 Link: https://stat545.com/

 


 

Ciência de Dados em R

Para finalizar essa seção, outro livro sensacional é novamente um material da galera do Curso-r. O livro também é voltado para iniciantes e com foco nos primeiros passos em Data Science, tratando de programação básica, manipulação de dados e visualização.

📘 Link: https://livro.curso-r.com/

 

. . .

 

Visualizando dados

Apesar dos materiais acima abrangerem esse tópico de forma introdutória, os recursos deste grupo são focados em visualização de dados.

ggplot2: Elegant Graphics for Data Analysis

Para quem já está envolvido com R com certeza já utilizou ou pelo menos já ouviu falar do pacote gráfico ggplot2, criado pelo Hadley Wickham, sendo um dos pacotes gráficos mais populares por implementar a gramática dos gráficos, um método de construção de gráficos por componentes independentes. O livro que leva o mesmo nome do pacote é indicado para quem quer dar um salto em visualizações, quem já tem uma noção do funcionamento do ggplot2 sabe que a lógica de construção por camadas permite um alto grau de customização, além das infinitas extensões desenvolvidas pela comunidade. Se você quiser ir a fundo em visualização de dados com certeza esse é um recurso indispensável.

📘 Link: https://ggplot2-book.org/

 


 

The ggplot flipbook

Um recurso mais prático é o the ggplot flipbook, é um livro de 40 páginas com foco na prática, em que você vai aprendendo linha a linha como implementar visualizações utilizando o ggplot2 e vendo de forma interativa as camadas serem construídas. Esse manual prático cobre desde a visualizações mais simples até gráficos bastante complexos, incluindo mapas, gráficos em grid e muitos outros recursos. Escrito por Gina Reynolds, o material é oficialmente ligado ao R-Ladies, uma organização mundial que promove diversidade dentro da comunidade R.

📘 Link: the ggplot flipbook

 


 

Para fechar a parte de visualização o The R Graph Gallery é com certeza o recurso que mais utilizo no dia a dia quando preciso criar visualização, basicamente é um repositório de gráficos com exemplos reproduzíveis, você pode ir lá copiar um código que funcionará na sua máquina local, testar e depois adaptar aos seus dados aplicando as customizações necessárias. Esse é um recurso extremamente útil para ter nos favoritos do seu navegador.

📘 Link: https://www.r-graph-gallery.com/

 

. . .

 

Criando modelos

Aqui nessa seção temos os materiais dedicados a parte de modelagem. Como boa parte da minha pesquisa em R até agora teve foco em forecasting, não tenho uma lista muito grande de materiais para indicar, mas com certeza estes aqui valem dar uma boa olhada.

Hands-On Machine Learning with R

Talvez esse seja o livro mais popular focado em modelagem para R, escrito por Bradley Boehmke e Brandon Greenwell o livro trata dos principais modelos Estatísticos e de Machine Learning, tanto supervisionados, como não-supervisionados, redução de dimensionalidade e clusterização, abordando desde de Regressão Linear, Árvores de Decisão até Deep Learning com Keras, e claro que todos os exemplos incluem códigos reproduzíveis para você rodar na sua máquina.

 

📘 Link: https://bradleyboehmke.github.io/HOML/

 

 


 

Forecasting: Principles and Practice

Um assunto muito recorrente para quem trabalha com modelagem é Previsão, e sem sombra de dúvidas o melhor recurso é o livro escrito por Rob Hyndman e George Athanasopoulos, ambos influentes pesquisadores na área de previsão e professores da Universidade de Monash. O livro apresenta o pacote Fable, desenvolvido sob a liderança do Prof Rob Hyndman, trazendo uma gama de modelos univariados e multivariados com diversos métodos automáticos de estimação, como o famoso algoritmo auto.arima. O Fable traz uma implementação que segue os padrões do Tidyverse, além de trazer pacotes adicionais para construção de data.frames temporais e extração de features e estatísticas dos modelos. Esse ecossistema de recursos pode ser acessado no Tidyverts.

📘 Link: https://otexts.com/fpp3/

 

. . .

 

Deploy e empacotamento

Dois tópicos importantes quando começamos a avançar nesse universo é tornar nossas aplicações disponíveis para outras pessoas. Aqui vão três materiais fantásticos sobre o assunto.

plumber: An API Generator for R

Construção de API’s é um passo intermediário entre o desenvolvimento local de um modelo e a fase de produção, quando colocamos o modelo para rodar em um sistema real, ficando disponível para receber requisições de predições. O pacote Plumber fornece uma camada de abstração para transformar suas funções em R em API’s do tipo REST. Aqui no blog temos um tutorial bem completo que trata da criação de API, Docker e deploy na AWS, tudo passo a passo nesse Link. No link do material abaixo você acessará a página oficial do pacote, na aba articles você vai encontrar todos os capítulos cobrindo toda implementação de API’s em R.

📘 Link: https://www.rplumber.io/

 


 

Mastering Shiny

Shiny é um framework em R para o desenvolvimento de apps, reports e dashboards no formato web utilizando R. O pacote fornece uma camada de abstração, entre seu código em R e o código da web, o que normalmente envolve html, css e javascript, facilitando a criação de aplicações funcionais com interface agradável para usuários finais. O livro, mais uma vez, escrito pelo Hadley Wickham está em sua fase de desenvolvimento, mas já se encontra aberto para consumo e traz uma gigante quantidade de informações sobre criação de Shiny apps.

 

📘 Link: https://mastering-shiny.org/

 


 

R Packages

Mais um livro do incansável Hadley Wickham com a Jenny Bryan, dessa vez com foco em desenvolvimento de pacotes. O livro cobre todos os passos para a criação do seu próprio pacote, o que pode ser muito útil não apenas para disponibilizar para a comunidade, mas também para a organização das suas próprias implementações ou até mesmo manter pacotes internos em uma empresa, o que pode ser extremamente útil para facilitar o fluxo de trabalho. O livro aborda a organização de códigos para empacotamento, metadados, documentação, testes, compilação e compartilhamento.

📘 Link: https://r-pkgs.org/

 

. . .

 

Tópicos avançados

Para aqueles que já se sentem avançados na linguagem e querem entender o que acontece por trás das cortinas esses dois materiais são incríveis, além de te tornarem um programador mais eficiente =D

Advanced R

Esse é um livro que estou lendo no momento, também escrito pelo Hadley Wickham, esse livro traz conceitos avançados relacionados a linguagem R. A ideia do livro é tornar o leitor um programador mais eficiente, é explorado o baixo nível da linguagem, entendendo as estruturas de dados, diversas funções do R base, assim como boas práticas para ter mais eficiência na linguagem. O livro aborda os paradigmas de programação orientado a objeto, programação funcional e meta-programação, além de abordar conceitos de mais baixo nível, como integração entre o R e o C++.

 

📘 Link: https://adv-r.hadley.nz/

 


 

What They Forgot to Teach You About R

Por fim, essa foi uma descoberda recente de um livro que no momento que escrevo esse post ainda está em desenvolvimento. O livro, como o nome sugere, traz vários hacks relacionados a R, abordando boas práticas, como por exemplo estrutura de projetos em R, como nomear corretamente os arquivos do seu projeto, workflow de trabalho, preparação do ambiente de desenvolvimento e diversas outras coisas. Esse é mais um material open source desenvolvido pelo pessoal da Rstudio, de autoria de Jenny Bryan em parceiria com Jim Hester.

 

📘 Link: https://rstats.wtf/

 

. . .

 

Links extras

Pra finalizar alguns materiais extras que podem ser interessantes e servirem de guia para encontrar outros materiais e se comunicar com outros usuários.

Twitter for R programmers

Esse é um livro para a galera que usa twitter, eu mesmo interajo muito com a comunidade através da hashtag #rstats, se você seguir o perfil @rstatstweet você será bombardeado de tweets sobre R, é muito útil para ficar por dentro de pacotes novos, mandar e responder perguntas e interagir de uma forma geral. Essa e várias outras dicas você vai encontrar nesse livro muito interessante, e claro open source.

 

📘 Link: https://www.t4rstats.com/

 


 

BOOKDOWN: Books with R Markdown

Por fim um útimo recurso que pode multiplicar a quantidade de materiais que já apresentei aqui, o Bookdown é um framework e um pacote para escrever livros utilizando R e Markdown. Porém, a dica aqui é o site de hospedagem deles, basicamente qualquer livro que você escrever utilizando Bookdown pode ser hospedado lá assim como a maioria dos materiais indicados aqui. Então, se algum assunto mais especifico não apareceu aqui, com certeza tem um livro open source lá com aplicações em R.

📘 Link: https://bookdown.org/

 

. . .

 

Até mais o/

Obrigado por ter chegado até aqui =). Compartilhe esse material com seus amigos que tem interesse de aprender R, reposte nos grupos por aí e vamos fomentar nossa comunidade brasileira de R.

Criei um repositório no GitHub com essa lista de materiais e links, se quiserem sugerir outros materiais podem fazer um pull request lá e quem sabe fazemos uma parte dois dessa lista.

Se quiser trocar uma ideia sobre esse assunto ou qualquer outro relacionado a R, o twitter é a plataforma que mais uso para me comunicar com a galera da comunidade. Aproveito e deixo minhas outras redes também.

Até o próximo post :D