Preparação do ambiente

Faça isto antes de 21 de setembro

ImportanteNão deixe para o primeiro dia

A instalação do brms compila código C++ e pode levar de 10 a 40 minutos na primeira vez, dependendo da máquina e da conexão. Se você chegar na segunda-feira sem isso pronto, vai perder a prática do Encontro 8.

Se travar em algum passo, mande um e-mail antes do curso: diogo.provete@ufms.br.

1. R e RStudio

Instale, nesta ordem:

  1. R ≥ 4.4 — https://cran.r-project.org
  2. RStudio Desktop — https://posit.co/download/rstudio-desktop/
  3. Quarto ≥ 1.5 — https://quarto.org/docs/get-started/

Se você já tem R instalado há mais de um ano, atualize. Vários pacotes que usaremos (glmmTMB, brms, DHARMa) exigem versões recentes.

Compilador C++

O brms precisa compilar modelos. Antes de instalá-lo:

  • macOS: abra o Terminal e rode xcode-select --install.
  • Windows: instale o Rtools na versão correspondente ao seu R, a partir do CRAN.
  • Linux: instale build-essential (Debian/Ubuntu) ou o grupo de ferramentas de desenvolvimento da sua distribuição.

2. Pacotes

Rode o bloco abaixo no console do R. Ele instala apenas o que estiver faltando.

pacotes <- c(
  # manipulação e visualização
  "tidyverse", "here", "janitor", "palmerpenguins", "patchwork",
  "GGally", "ggeffects", "broom", "broom.mixed", "knitr", "rmarkdown",
  "plotly", "DiagrammeR", "sf",
  # modelos lineares e GLM
  "car", "emmeans", "MASS", "performance", "see", "sjPlot", "marginaleffects",
  "usdm", "parameters", "effectsize", "report",
  # versão bayesiana dos mesmos modelos
  "loo", "bayesplot", "priorsense",
  # GLMM, zeros inflados e ordinais
  "lme4", "lmerTest", "pbkrtest", "glmmTMB", "DHARMa", "ordinal", "pscl",
  "lmtest",
  # seleção de modelos
  "MuMIn", "AICcmodavg", "bbmle",
  # raciocínio causal
  "dagitty", "ggdag"
)

faltando <- setdiff(pacotes, rownames(installed.packages()))
if (length(faltando)) install.packages(faltando)

brms e Stan — o passo demorado

Usamos o brms do Encontro 2 em diante, sempre ao lado do modelo frequentista equivalente. A razão de ser ele, e não outro pacote bayesiano, é que a sintaxe é idêntica à do lme4 e do glmmTMB: y ~ x + (1 | grupo) significa a mesma coisa nos três. Você aprende uma notação só.

O preço é que o brms compila um programa Stan para cada modelo novo. Por isso ele precisa de compilador C++ e de paciência na primeira execução.

install.packages("brms")   # puxa rstan e StanHeaders

Teste a compilação com um modelo mínimo. A primeira execução demora; as seguintes, não.

library(brms)

teste <- brm(mpg ~ wt, data = mtcars, chains = 2, iter = 1000, refresh = 0)
summary(teste)

Se summary() imprimir uma tabela com Rhat igual a 1.00, está pronto.

DicaAlternativa mais rápida: cmdstanr

Se a instalação do rstan der problema — o que acontece com alguma frequência no Windows —, o caminho alternativo é o cmdstanr, que baixa um Stan pré-compilado. As instruções oficiais estão em https://mc-stan.org/cmdstanr/. Depois, use backend = "cmdstanr" nas chamadas a brm().

Opcional — conteúdo de JSDM

Não precisa instalar antes do curso. O bloco de multivariados baseados em modelos e JSDM é opcional nesta oferta: ele aparece como panorama no encerramento da sexta-feira, sem prática em sala. Estes pacotes ficam indicados para quem quiser seguir o assunto depois.

install.packages(c("Hmsc", "mvabund", "gllvm"))

3. Verificação

Rode este bloco e confira se nenhuma linha acusa falha:

essenciais <- c("tidyverse", "lme4", "glmmTMB", "DHARMa", "emmeans",
                "performance", "MuMIn", "ordinal", "brms")

resultado <- vapply(essenciais, function(p) {
  ok <- requireNamespace(p, quietly = TRUE)
  cat(sprintf("%-12s %s\n", p, if (ok) "OK" else "FALTANDO"))
  ok
}, logical(1))

if (all(resultado)) cat("\nAmbiente pronto.\n") else cat("\nInstale os pacotes marcados como FALTANDO.\n")

4. Projeto do curso

Crie um projeto do RStudio para a disciplina e, dentro dele, as pastas dados/, scripts/ e figuras/. Baixe os conjuntos de dados da página de cada encontro para dados/.

Quem usa git pode simplesmente clonar o repositório do curso:

git clone https://github.com/diogoprov/analise-dados-univariados-2026-2.git

5. Exercícios no swirl (em português)

O swirl ensina R dentro do próprio console: ele faz a pergunta, você responde no prompt, e ele confere na hora. Traduzimos para o português o curso Regression Models, da Johns Hopkins — treze lições que vão do método dos mínimos quadrados ao GLM de Poisson. A tradução é de Gustavo Paterno e minha, e está em paternogbc/cursos_swirl-Br.

Instalação, uma vez só:

install.packages("swirl")

zip <- tempfile(fileext = ".zip")
download.file(
  "https://github.com/paternogbc/cursos_swirl-Br/archive/refs/heads/master.zip",
  zip, mode = "wb"
)
pasta <- tempfile(); unzip(zip, exdir = pasta)
swirl::install_course_directory(
  file.path(pasta, "cursos_swirl-Br-master", "Modelos_de_Regressao")
)

Depois, a cada sessão:

library(swirl)
swirl()

Escolha o curso Modelos de Regressão e a lição que quiser. Cada uma leva entre 20 e 40 minutos; bye() sai e guarda o progresso.

Que lição serve para qual encontro

# Lição Encontro O que treina
1 Introdução E2 Regressão à média, nos dados de Galton
2 Resíduos E2 Mínimos quadrados; por que os resíduos somam zero
3 Estimação por Mínimos Quadrados E2 A inclinação como \(r \times s_y/s_x\)
4 Variação Residual E2 \(\sigma\), os \(n-2\) graus de liberdade, variação explicada
5 Introdução à Regressão Múltipla E2 · E3 O intercepto é o coeficiente de uma coluna de 1s
6 Exemplos de Regressão Múltipla E3 Interpretar coeficientes (dados swiss)
7 Exemplos de Regressão Múltipla 2 E3 ANOVA como lm(): lm(count ~ spray), - 1, relevel()
8 Exemplos de Regressão Múltipla 3 E3 Interação Year * Sex: duas retas, duas inclinações
9 Resíduos, Diagnóstico e Variação E2 Alavancagem, influência, dfbetas
10 Fatores de Inflação da Variância E2 VIF por simulação; viés de variável omitida
11 Sobreajuste e Subajuste E9 O custo de incluir e o custo de omitir
12 Respostas Binárias E5 Odds, glm(..., binomial), IC dos coeficientes
13 Respostas de Contagem E5 · E6 Poisson, offset, e a razão deviance/gl

Nenhuma é obrigatória, com uma exceção: a lição 13 é a atividade da manhã de quarta, quando eu chego mais tarde.

6. O que trazer

  • Notebook com o ambiente acima funcionando;
  • um conjunto de dados seu — de preferência o do seu mestrado ou doutorado, ainda que parcial. Ele é a matéria-prima do trabalho final e dos exercícios;
  • a leitura pré-curso feita: Popovic et al. (2024).