Recursos para aprender R - Em contrução
Uma curadoria completa para quem quer começar com a linguagem R - do zero ao avançado
Esta página reúne os recursos mais relevantes para quem deseja aprender R com base sólida. O conteúdo foi selecionado com critério técnico e está organizado por categoria para facilitar a navegação.
Ainda estou adicionando imagens aos poucos.
Por que aprender R?
R é uma linguagem projetada para análise de dados, criada para pessoas de diversas disciplinas, com uma comunidade global ativa e completamente gratuita.
| Característica | Detalhe |
|---|---|
| Gratuito | Linguagem de código aberto, sem custos de licença |
| Reproduzível | Todo o processo de análise fica registrado em código, auditável e reutilizável |
| Ecossistema maduro | Mais de 20.000 pacotes no CRAN para as mais diversas aplicações |
| Comunidade ativa | Conferências, grupos, fóruns e materiais em múltiplos idiomas |
| Integração | Conecta com Python, SQL, APIs, bancos de dados e sistemas de publicação |
Excel é uma ferramenta legítima para exploração inicial. O problema é quando ele se torna o único instrumento de análise. Código é auditável, versionável, reutilizável e automatizável.
Instalação: por onde começar
Três ferramentas formam a base obrigatória.
| Ferramenta | Descrição | Link |
|---|---|---|
| R | Motor da linguagem. Deve ser instalado primeiro. | cran.r-project.org |
| RStudio | IDE mais popular para R. Interface completa com console, editor, ambiente e painel de plots. | posit.co/download/rstudio-desktop |
| Positron | Nova IDE da Posit, com suporte nativo a R e Python. Alternativa moderna ao RStudio. | posit.co/products/ide/positron |
| Quarto | Sistema de publicação científica e técnica. Integra código, texto e resultados. | quarto.org |
Instale sempre nesta sequência: R primeiro, depois RStudio ou Positron, depois Quarto. O RStudio detecta automaticamente a versão do R instalada no sistema.
Você pode usar R diretamente no navegador via Posit Cloud, sem instalar nada. É gratuito para uso básico e ideal para os primeiros experimentos.
Trilha de Aprendizado
Esta trilha segue uma progressão técnica estruturada. Cada etapa prepara para a próxima.
Fundamentos da Linguagem
Antes de trabalhar com dados, é necessário entender como R funciona como linguagem.
| Conceito | O que aprender | Onde consultar |
|---|---|---|
| Interface RStudio | Painéis, console, editor, ambiente e atalhos | Documentação RStudio |
| Projetos | Como organizar o trabalho com projetos R | R for Data Science - cap. 6 |
| Operações básicas | Tipos de dados, operações aritméticas e lógicas | Hands-On Programming with R |
| Vetores | Sequências de dados, o objeto fundamental do R | Hands-On Programming with R - cap. 2 |
| Funções | Como funções recebem dados e retornam resultados | R for Data Science - cap. 25 |
| Pipe | Encadeamento de operações com \|> e %>% |
R for Data Science - cap. 4 |
# Conceitos fundamentais em R
# Atribuição de valores
x <- 10
y <- 25
# Vetor: sequência de dados
idades <- c(22, 35, 28, 41, 19)
# Função aplicada a um vetor
mean(idades) # média
sum(idades) # soma
length(idades) # quantidade de elementos
# Pipe: encadeamento lógico de operações
idades |>
mean() |>
round(digits = 1)Trabalhando com Dados
Manipulação de tabelas com o pacote dplyr, o principal verbo da análise de dados em R.
| Operação | Função | O que faz |
|---|---|---|
| Explorar | glimpse(), head(), summary() |
Inspeciona a estrutura e conteúdo da tabela |
| Filtrar linhas | filter() |
Extrai subconjuntos de linhas por condição |
| Selecionar colunas | select() |
Escolhe quais colunas manter ou remover |
| Criar variáveis | mutate() |
Calcula novas colunas a partir das existentes |
| Resumir | group_by() + summarise() |
Agrega dados por grupo |
| Cruzar tabelas | left_join() |
Une duas tabelas por uma coluna em comum |
| Pivotar | pivot_longer() / pivot_wider() |
Transforma entre formatos largo e longo |
| Limpar | drop_na(), distinct(), rename() |
Remove duplicatas, ausentes e renomeia |
Documentações oficiais:
- Documentação do dplyr
- Documentação do tidyr
- R for Data Science - Transformação de dados
- R for Data Science - Joins
- R for Data Science - Dados organizados
Programação Básica
Etapa opcional mas recomendada. Funções, condicionais e loops permitem automatizar trabalho.
| Conceito | O que aprender | Onde consultar |
|---|---|---|
| Funções | Como criar funções reutilizáveis | R for Data Science - cap. 25 |
| Condicionais | if, else, ifelse(), case_when() |
R for Data Science - cap. 25 |
| Loops | for, while e alternativas com purrr |
R for Data Science - cap. 26 |
Visualização de Dados
ggplot2 é a biblioteca de visualização mais expressiva e completa disponível em R.
| Recurso | Link |
|---|---|
| Documentação oficial do ggplot2 | ggplot2.tidyverse.org |
| R for Data Science - Visualização | r4ds.hadley.nz/data-visualize.html |
| ggplot2: Elegant Graphics for Data Analysis | ggplot2-book.org |
| R Graphics Cookbook | r-graphics.org |
| Galeria de tipos de gráfico | r-graph-gallery.com |
| Documentação do patchwork | patchwork.data-imaginist.com |
Trilha resumida por etapas
| Etapa | Conteúdo | Material principal |
|---|---|---|
| 1 | Instalação e interface do RStudio | Documentação RStudio |
| 2 | Tipos de dados, vetores e data frames | Hands-On Programming with R |
| 3 | Importação de arquivos CSV e Excel | Documentação readr |
| 4 | Manipulação com dplyr | R for Data Science - cap. 3 a 5 |
| 5 | Visualização com ggplot2 | R for Data Science - cap. 9 a 11 |
| 6 | Organização de dados com tidyr | R for Data Science - cap. 6 |
| 7 | Funções e programação funcional | R for Data Science - cap. 25 a 27 |
| 8 | Relatórios reproduzíveis com Quarto | Documentação oficial do Quarto |
| 9 | Controle de versão com Git e GitHub | Happy Git with R |
| 10 | Modelagem com tidymodels | Tidy Modeling with R |
Livros e Documentações Oficiais
Livros para começar
R para Ciência de Dados
Autores: Hadley Wickham, Mine Çetinkaya-Rundel e Garrett Grolemund
O livro central para aprender a usar R. Cobre toda a cadeia de análise: importação, transformação, visualização, modelagem e comunicação de resultados.
Versão em inglês (2ª edição): r4ds.hadley.nz
Versão em espanhol traduzida pela comunidade: es.r4ds.hadley.nz

Hands-On Programming with R
Autor: Garrett Grolemund
Foco na base da linguagem: objetos, vetores, funções e estruturas de controle. Ideal para quem precisa entender o R antes de partir para o Tidyverse.
Disponível gratuitamente: rstudio-education.github.io/hopr

Fundamentos de Ciência de Dados com R
Parte do básico e avança por temas como estatística, modelagem, dados espaciais e redes neurais.
- Disponível gratuitamente: cdr-book.github.io
Advanced R
Autor: Hadley Wickham
Para quem quer aprofundar o entendimento da linguagem: ambientes, metaprogramação, programação funcional e orientação a objetos. Não indicado para iniciantes.
- Disponível gratuitamente: adv-r.hadley.nz
Tidy Modeling with R
Autores: Max Kuhn e Julia Silge
Introdução ao ecossistema tidymodels para modelagem estatística e machine learning em R.
- Disponível gratuitamente: tmwr.org
Mastering Shiny
Autor: Hadley Wickham
Guia completo para desenvolver aplicações web interativas com R, do básico ao avançado.
- Disponível gratuitamente: mastering-shiny.org
The R Inferno
Autor: Patrick Burns
Livro sobre as dificuldades e curiosidades de R como linguagem de programação. Recomendado após dominar o básico.
- Disponível gratuitamente: burns-stat.com/documents/books/the-r-inferno
O Grande Livro de R - Big Book of R
Organizador: Oscar Baruffa
Repositório curado com mais de 300 livros gratuitos sobre R organizados por tema.
- Acesse em: bigbookofr.com
Livros de Visualização
| Livro | Descrição | Link |
|---|---|---|
| ggplot2: Elegant Graphics for Data Analysis | Teoria da Grammar of Graphics que fundamenta o ggplot2 | ggplot2-book.org |
| R Graphics Cookbook | Mais de 150 receitas para criar gráficos com R | r-graphics.org |
Documentações e Fontes de Referência
| Recurso | Descrição | Link |
|---|---|---|
| CRAN | Repositório oficial de pacotes R | cran.r-project.org |
| CRAN Task Views | Pacotes organizados por área temática | cran.r-project.org/web/views |
| Tidyverse | Documentação oficial do ecossistema | tidyverse.org |
| Posit Docs | Documentação de produtos Posit | docs.posit.co |
| Quarto | Documentação oficial do sistema de publicação | quarto.org/docs |
| R-bloggers | Agrega posts técnicos de usuários de R | r-bloggers.com |
| R Weekly | Curadoria semanal de notícias e posts sobre R | rweekly.org |
| RWorks | Curadoria de funcionalidades e pacotes de R | rworks.dev |
Pacotes Essenciais com Links
Importação de Dados
| Pacote | Função principal | Documentação |
|---|---|---|
readr |
Importação de CSV e arquivos de texto | readr.tidyverse.org |
readxl |
Importação de arquivos Excel | readxl.tidyverse.org |
haven |
Importação de SPSS, Stata e SAS | haven.tidyverse.org |
httr2 |
Requisições HTTP e consumo de APIs | httr2.r-lib.org |
jsonlite |
Leitura e escrita de JSON | CRAN: jsonlite |
Manipulação de Dados
| Pacote | Função principal | Documentação |
|---|---|---|
dplyr |
Manipulação de tabelas com verbos consistentes | dplyr.tidyverse.org |
tidyr |
Organização e pivotagem de dados | tidyr.tidyverse.org |
stringr |
Manipulação de texto e expressões regulares | stringr.tidyverse.org |
lubridate |
Manipulação de datas e horários | lubridate.tidyverse.org |
forcats |
Manipulação de variáveis categóricas | forcats.tidyverse.org |
purrr |
Programação funcional e iteração | purrr.tidyverse.org |
janitor |
Limpeza de nomes e dados | CRAN: janitor |
skimr |
Resumo estatístico rápido de data frames | docs.ropensci.org/skimr |
data.table |
Manipulação de grandes volumes com alta performance | rdatatable.gitlab.io/data.table |
pointblank |
Validação e verificação da qualidade dos dados | CRAN: pointblank |
Visualização de Dados
| Pacote | Função principal | Documentação |
|---|---|---|
ggplot2 |
Visualização por camadas (Grammar of Graphics) | ggplot2.tidyverse.org |
plotly |
Gráficos interativos a partir de ggplot2 | plotly.com/r |
ggiraph |
Gráficos ggplot2 interativos com tooltips e cliques | davidgohel.github.io/ggiraph |
patchwork |
Combinação de múltiplos gráficos ggplot2 | patchwork.data-imaginist.com |
ggthemes |
Temas adicionais para ggplot2 | CRAN: ggthemes |
gt |
Tabelas estáticas e formatadas para publicação | gt.rstudio.com |
DT |
Tabelas interativas com filtros e busca | rstudio.github.io/DT |
sf |
Dados espaciais e geográficos, mapas e operações geométricas | r-spatial.github.io/sf |
Modelagem e Estatística
| Pacote | Função principal | Documentação |
|---|---|---|
tidymodels |
Framework completo para machine learning tidy | tidymodels.org |
broom |
Organiza resultados de modelos em tibbles | broom.tidymodels.org |
easystats |
Ecossistema para análise e comunicação de modelos | easystats.github.io/easystats |
infer |
Inferência estatística com sintaxe tidy | infer.tidymodels.org |
lme4 |
Modelos mistos e hierárquicos | CRAN: lme4 |
survival |
Análise de sobrevivência | CRAN: survival |
Publicação e Reprodutibilidade
| Pacote | Função principal | Documentação |
|---|---|---|
rmarkdown |
Documentos reproduzíveis com código R | rmarkdown.rstudio.com |
knitr |
Motor de execução de blocos de código | yihui.org/knitr |
renv |
Controle de versão de pacotes por projeto | rstudio.github.io/renv |
here |
Gerenciamento de caminhos relativos | here.r-lib.org |
usethis |
Automação de tarefas de criação de projetos | usethis.r-lib.org |
Aplicações e Dashboards
| Pacote | Função principal | Documentação |
|---|---|---|
shiny |
Criação de aplicações web interativas com R | shiny.posit.co |
bslib |
Temas modernos e componentes UI para Shiny | rstudio.github.io/bslib |
plumber |
Criação de APIs REST com R | rplumber.io |
Dados Brasileiros
| Pacote | Função principal | Documentação |
|---|---|---|
sidrar |
Acesso direto a tabelas do SIDRA/IBGE | CRAN: sidrar |
basedosdados |
Acesso a dados públicos tratados | basedosdados.org |
BETS |
Séries temporais do Banco Central | CRAN: BETS |
electionsBR |
Dados eleitorais do TSE | CRAN: electionsBR |
microdatasus |
Microdados do SUS (DATASUS) | CRAN: microdatasus |
# Instalação de um pacote do CRAN
install.packages("dplyr")
# Instalação de múltiplos pacotes de uma vez
install.packages(c("tidyverse", "renv", "here"))
# Instalação via pacman (recomendado para projetos)
install.packages("pacman")
pacman::p_load(tidyverse, renv, here)Cheatsheets e Folhas de Referência
Use como material de consulta durante a prática, não como leitura linear. Mantenha abertas em uma segunda tela enquanto escreve código.
Todas as cheatsheets oficiais estão disponíveis em: posit.co/resources/cheatsheets
| Cheatsheet | Conteúdo |
|---|---|
| Base R | Conceitos básicos para usar R na prática |
| RStudio IDE | Aspectos principais do ambiente de desenvolvimento |
| dplyr | filter, select, mutate, group_by, summarise, joins |
| ggplot2 | geoms, aes, scales, themes, facets |
| tidyr | pivot_longer, pivot_wider, unnest, separate |
| Importar dados | CSV, Excel e Google Drive |
| forcats | Variáveis categóricas |
| stringr | Manipulação de texto e regex |
| lubridate | Dados em formato data e hora |
| purrr | map, map2, walk, imap, reduce |
| R Markdown | YAML, chunks, código inline, formatos de saída |
| Quarto | Estrutura de documentos, chunks, YAML, formatos |
| Shiny | Desenvolvimento de aplicações web interativas |
| tidymodels | recipe, parsnip, workflow, tune |
Cursos Gratuitos
| Curso | Descrição | Nível | Link |
|---|---|---|---|
| Café com R | Aulas abertas em Quarto cobrindo R do básico ao avançado, com dados brasileiros | Básico a avançado | Acessar |
| posit::conf(2025) | Mais de 100 palestras e workshops da conferência anual da Posit | Intermediário a avançado | Acessar |
Aulas do Café com R
Todo o material é aberto, produzido em Quarto, com código reproduzível e disponível no GitHub.
| Aula | Tópico | Link |
|---|---|---|
| Primeiros passos com R | Estruturas, objetos e operações fundamentais | Acessar |
| Funções em R | Como criar e usar funções reutilizáveis | Acessar |
| Manipulação de dados com dplyr | Verbos principais do Tidyverse | Acessar |
| Atualizações do dplyr | Novidades da versão mais recente, incluindo across() |
Acessar |
| Visualização com ggplot2 | Grammar of Graphics na prática | Acessar |
| Como fazer tabelas profissionais no R | gtsummary para tabelas descritivas e de regressão | Acessar |
| Como limpar seus dados no R em 9 passos | Limpeza de dados com janitor | Acessar |
| Tidy data e análise exploratória | Estrutura e exploração de dados | Acessar |
| Estatística com R | Descritiva e inferencial | Acessar |
| Estatística Descritiva | Medidas de posição, dispersão e distribuição | Acessar |
| SQL para R com dbplyr | Consultas SQL dentro do R | Acessar |
| SQL x R: comparativo de comandos | Equivalências entre SQL e dplyr | Acessar |
| Consumo de APIs RESTful no R | httr2 e autenticação | Acessar |
| Tidymodels para regressão | Machine learning com sintaxe tidy | Acessar |
| Documentação: Tidymodels para regressão | Material de referência complementar | Acessar |
| R e Python para iniciantes | Comparação e estratégia de aprendizado | Acessar |
| Integração R e Python com Reticulate | Combinando os dois mundos | Acessar |
| 14 integrações do R e RStudio | Ferramentas e conexões do ecossistema | Acessar |
| Git e GitHub no RStudio | Controle de versão integrado | Acessar |
| GitHub Actions para projetos de dados | Automação de pipelines em R | Acessar |
| Docker para pesquisadores e analistas | Reprodutibilidade com containers | Acessar |
| Envio de e-mails com blastula | Automação de relatórios por e-mail | Acessar |
| Pacotes R para Experimentação Agrícola | Análise de experimentos com R | Acessar |
Explorando as Possibilidades de R
Após dominar os fundamentos, R abre um conjunto amplo de especializações.
Gráficos e Visualização
Mapas e Dados Espaciais
Tabelas
Relatórios e Publicação
Aplicações Shiny
Web Scraping
Inteligência Artificial e LLMs
Processamento Avançado
Comunidades e Fóruns
Comunidades Brasileiras
| Comunidade | Descrição | Acesso |
|---|---|---|
| Café com R | Projeto de democratização do R com aulas abertas e newsletter | jenniferlopes.github.io/meu_site |
| R-Ladies Brasil | Rede global com capítulos em São Paulo, Goiânia, BH, Vitória, Porto Alegre e mais | rladies.org |
| Latin R | Conferência latino-americana de R com apresentações em português e espanhol | latinr.org |
Comunidades Internacionais
| Comunidade | Descrição | Acesso |
|---|---|---|
| Posit Community | Fórum oficial da Posit com alta qualidade técnica | community.rstudio.com |
| Stack Overflow - R | Maior repositório de perguntas e respostas técnicas | stackoverflow.com/questions/tagged/r |
| R for Data Science Community | Comunidade ligada ao livro R4DS, com grupos de estudo | rfordatasci.com |
| rainbowR | Comunidade de usuários LGBTIQ+ de R | rainbowr.org |
Datasets para Praticar
Escolha um dataset com relevância para a sua área de atuação. Dados sem contexto dificultam a interpretação dos resultados.
Dados Nativos do R
# Listar todos os datasets disponíveis no R base
data()
# Principais datasets para iniciantes
data(mtcars) # Carros: consumo, cilindros, potência
data(iris) # Medições de flores: referência clássica em classificação
# Pacote gapminder: população e expectativa de vida por país
install.packages("gapminder")
library(gapminder)
# Pacote dados: datasets traduzidos para o português/espanhol
install.packages("dados")
library(dados)Dados Brasileiros
| Fonte | Descrição | Acesso |
|---|---|---|
| IBGE - SIDRA | Censo, PNAD, produção agrícola e mais | sidra.ibge.gov.br |
| IBGE - API | Acesso programático via API REST | servicodados.ibge.gov.br/api/docs |
| Base dos Dados | Mais de 1.100 conjuntos de dados brasileiros tratados | basedosdados.org |
| Portal da Transparência | Gastos, servidores e contratos federais | portaldatransparencia.gov.br |
| DATASUS | Saúde pública: SIM, SINASC, SIHSUS | datasus.saude.gov.br |
| Banco Central | IPCA, SELIC, câmbio e séries temporais | bcb.gov.br/estatisticas |
| TSE | Candidatos, resultados e financiamento eleitoral | dadosabertos.tse.jus.br |
| ANS | Dados do setor de saúde suplementar | ans.gov.br/anstabnet |
Repositórios Internacionais
| Fonte | Descrição | Acesso |
|---|---|---|
| TidyTuesday | Desafio semanal com dados reais. Mais de 200 datasets documentados | github.com/rfordatascience/tidytuesday |
| Kaggle Datasets | Milhares de conjuntos de dados em diversas áreas | kaggle.com/datasets |
| Our World in Data | Dados globais: saúde, economia, educação e meio ambiente | ourworldindata.org |
| World Bank Open Data | Indicadores econômicos e sociais por país | data.worldbank.org |
| UCI Machine Learning Repository | Datasets clássicos de machine learning | archive.ics.uci.edu |
Esta página é parte do projeto Café com R. O conteúdo é aberto e pode ser compartilhado livremente com a devida referência.
Jennifer Lopes | Café com R