Materiais gratuitos para aprender R em 2020
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
The R Graph Gallery
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.
- icaroagostino/learnR: https://github.com/icaroagostino/learnR/
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