Instalando o R (Guia Completo)

Dicas de como aproveitar melhor o uso do R incluindo recomendações de pacotes, configurações adicionais do RStudio e escolha de IDE.
data-science
tutorial-R
Author

Vinicius Oike

Published

April 15, 2025

Instalando o R

Recentemente, tive que me adaptar a um fluxo de trabalho em que estou frequentemente reinstalando o R e seus pacotes do zero. Por isto, comecei a criar certos scripts para facilitar este tedioso processo. O primeiro passo é instalar o R.

Usando o pak

O pak é um pacote muito útil para facilitar a instalação de pacotes. Ele permite instalar pacotes de forma rápida e conveniente. Usando o pak, não precisamos usar funções diferentes para instalar pacotes do CRAN e do GitHub, por exemplo.

library(pak)

pak::pkg_install("tidyverse")
pak::pkg_install("viniciusoike/realestatebr")

Pacotes

No passado, já fiz alguns posts comentando sobre “pacotes” essenciais para o R. A verdade, é que os pacotes essenciais variam muito segundo cada pessoa. A lista de pacotes abaixo é uma coleção dos pacotes que eu costumo usar com mais frequência, junto de outros que são úteis mas que eu raramente uso.

Data Cleaning

Code
packs_core_data <- c(
  "tidyverse",
  "data.table",
  "janitor",
  "lubridate",
  "glue",
  "fs",
  "here",
  "dtplyr"
)

packs_import_data <- c(
  "foreign",
  "readxl",
  "haven",
  "jsonlite",
  "vroom",
  "qs2",
  "arrow",
  "rio"
)

packs_database <- c(
  "RPostgres",
  "DBI",
  "odbc",
  "dbplyr",
  "RSQLite",
  "bigrquery",
  "googledrive",
  "sparklyr"
)

Data Visualization

Code
core_data_viz <- c(
  "ggplot2",
  "patchwork",
  "ggiraph",
  "ggrepel",
  "ggtext",
  "paletteer"
)

packs_ggplot_extensions <- c(
  "ggcorrplot",
  "ggalluvial",
  "ggbump",
  "ggridges",
  "ggdist",
  "GGally",
  "gganimate",
  "ggnewscale",
  "ggthemes",
  "ggsci",
  "ggradar",
  "ggforce",
  "ggfittext"
)

packs_interactive_viz <- c(
  "dygraphs",
  "plotly",
  "DT"
)

packs_maps <- c(
  "leaflet",
  "ggmap",
  "tmap",
  "tmaptools",
  "mapview"
)

packs_viz_others <- c(
  "hrbrthemes",
  # OBS: ragg is better than showtext
  "showtext",
  "ragg",
  "viridis",
  "wesanderson",
  "MetBrewer",
  "htmlwidgets",
  "waffle"
)

Time Series

Code
packs_core_ts <- c(
  "forecast",
  "tseries",
  "urca",
  "vars",
  "xts",
  "tsbox",
  # disclaimer: I am the maintainer of the trendseries package
  "trendseries"
)

packs_econometrics <- c(
  "AER",
  "lmtest",
  "fGarch",
  "rugarch",
  "tsDyn",
  "seasonal",
  "bsts",
  "urca",
  "vars",
  "strucchange",
  "astsa"
)

packs_ts_fcasting <- c(
  # Best for univariate or few series
  "forecast",
  # Best for multivariate or many series
  "fable",
  "fabletools",
  # Standard prophet API
  "prophet",
  # ML Suite for time series
  "modeltime",
  # Generic ML suite for R
  "tidymodels"
)

packs_ts_filters <- c(
  # disclaimer: I am the maintainer of the trendseries package
  "trendseries",
  "mFilter",
  "signal",
  "robfilter",
  "hpfilter",
  "neverhpfilter"
)

packs_ts_others <- c(
  "dygraphs",
  "RcppRoll",
  "feasts",
  "lubridate"
)

Spatial

Code
packs_core_spatial <- c(
  "sf",
  "terra",
  "lwgeom",
  "spdep"
)

packs_spatial_web <- c(
  "osmdata",
  "osrm",
  "mapview",
  "mapgl",
  "leaflet"
)

packs_spatial_others <- c(
  "elevatr",
  "raster",
  "stars",
  "tidygeocoder",
  "tidygtfs",
  "geobr",
  "r5r"
)

Reports

Code
packs <- c(
  "shiny",
  "bslib",
  "shinydashboard",
  "shinydashboardPlus",
  "shinythemes",
  "gt",
  "gtExtras",
  "kableExtra",
  "DT",
  "flextable",
  "reactable",
  "fontawesome",
  "rmdformats"
)

Configurando o RStudio

Há algumas configurações básicas que já deveriam ser padrão para o RStudio. Acredito que o essencial seja a opção de não salvar os dados da sessão (RData), mas há muitas outras opções que melhoram muito a experiência de trabalho.

Básico

Entre as configurações básicas o mais importante, como comentado acima, é nunca criar o .RData. Além de tornar o seu fluxo de trabalho mais rápido, não salvar o .RData é considerado uma boa prática pois deixa o ambiente de trabalho sempre limpo. Na prática, diminui a chance do seu código quebrar. Do ponto de vista dos gráficos, o AGG como backend garante imagens de maior qualidade.

A lista de configurações sobre código é muito mais opcional do que as básicas acima. Em linhas gerais, recomendo o uso do pipe nativo, o uso de “rainbow parenthesis”, mostrar o número das linhas, incluir prévia das cores, entre várias outras opções listadas abaixo.

Temas e Fontes

Como fonte padrão, recomendo o uso do Fira Code, que é uma fonte de código aberto e gratuita. As instruções de instalação estão disponíveis no próprio GitHub linkado anteriormente. O Fira Code usa “ligaturas” para representar caracteres especiais como ==, !=, <=, >=, |>, <- etc. Em particular, acho que o Fira Code melhora muito a legibilidade do operador pipe nativo |> e do operador de atribuição <-.

Eu não gosto muito de nenhum dos temas padrão do RStudio. Se necessário, uso ou o ‘Material’ ou o ‘Idle Hands’. Sempre que possível instalo o rsthemes (disponível aqui) e aplico o “Material Palenight” ou “Material Ocean” como temas escuros e o “Flat White” ou “a11y-light” como temas claros.

Abaixo deixo como exemplo o que tenho no meu .Rprofile global para aplicar o Material Palenight como tema escuro e o Flat White como tema claro.

Code
if (interactive() && requireNamespace("rsthemes", quietly = TRUE)) {
  rsthemes::set_theme_favorite(c(
    "a11y-light {rsthemes}",
    "Flat White {rsthemes}",
    "Material Ocean {rsthemes}",
    "Material Palenight {rsthemes}",
    "Material {rsthemes}",
    "One Light {rsthemes}"
  ))

  rsthemes::set_theme_dark("Material Palenight {rsthemes}")
  rsthemes::set_theme_light("Flat White {rsthemes}")
}

Toda esta configuração resulta no print abaixo.

Usando Positron

Recentemente, a empresa Posit, desenvolvedora do RStudio, lançou uma nova versão do IDE, chamada Positron. Esta nova versão é construída com base no VSCode, da Microsoft, e tem objetivo de ser uma IDE otimizada para cientistas de dados. O Positron suporta tanto R quanto Python e acompanha algumas excelentes extensões pré-instaladas.

Atualmente, uso o Positron com maior frequência no meu dia-a-dia. O Positron é um pouco mais leve e rápido do que o RStudio, além de ter melhor integração com ferramentas de AI.

Entre as vantagens do Positron:

  • Melhor exibição de gráficos (usa agg como padrão).

  • Melhor integração com ferramentas de AI (Claude Code, Windsurf, Supermaven, etc.)

  • Explorer de arquivos muito mais funcional.

  • Mais extensões e mais opções no geral.

Entre as desvantagens do Positron:

  • Não tem alguns add-ins muito úteis do RStudio.

  • Gerenciamento de atalhos e personalização muito mais complexa.

  • IDE com “excesso de informação”. Enquanto é possível reduzir o ruído visual, ainda assim ele traz muito mais informação do que o RStudio.

  • Muitos mais bugs do que o RStudio. Algumas coisas só param de funcionar de vez em quando; alguns botões desaparecem.

Outros IDEs

Pessoalmente, só usei o Sublime Text 3 e o VSCode, além do RStudio e do Positron, citados acima. O Sublime Text 3 tem a vantagem de ser muito rápido e versátil, mas exige um setup considerável. Além disso, o Sublime tem pouquíssimo suporte para R, RMarkdown e Quarto; muitas vezes você está escrevendo tudo do zero, sem atalhos, sem autocomplete, e com render questionável. Na prática, acredito que não compensa usar. O VSCode é muito mais conveniente do que o Sublime Text 3, mas ainda acho que ele carece de algumas coisas básicas e exige um tempo de setup considerável para um bom uso de R. Sobretudo, após o lançamento do Positron, acho que não faz sentido algum usar o VSCode, já que o Positron é, essencialmente, o VSCode otimizado para R.

Posts relacionados