pacotes <- c("tidyr", "dplyr", "ggplot2", # Manipulação e visualização de dados
"readxl", "haven", # Importação de dados
"palmerpenguins", # Um dos datasets de exemplo
"afex", "car", "parameters", "emmeans", "effectsize", # Análise
"performance") # avaliação de pressupostos
# Instala os pacotes que ainda não têm instalados
install.packages(pacotes)
# Verifica se tudo foi instalado correctamente
sapply(pacotes, require, character.only = TRUE)Guia do Participante
0 Bem-vindos ao Workshop!
Olá! Se estão a ler isto, é porque vão participar (ou estão neste momento a participar) no workshop de introdução ao R. Este é o vosso guia de navegação para os próximos dois dias.
Datas: 6 e 13 de Fevereiro de 2026
Formador: João Oliveira Santos (joao.santos@ispa.pt)
Organização: CICPSI
Horário: 09h30 às 18h00 (com pausas, claro!)
Façam bookmark do site, ou gravem o link de alguma forma. Vão precisar dela durante todo o workshop. Tem links para todos os tutoriais, exercícios, e materiais de apoio.
1 Como Vai Funcionar Este Workshop?
Este workshop segue uma pedagogia activa: vocês vão aprender fazendo, não apenas a assistir.
Espera…vou ter que trabalhar sozinho? Não é uma aula normal com slides?
Exactamente! E há boas razões para isso.
A investigação em educação mostra consistentemente que aprendemos melhor quando:
- Praticamos activamente em vez de assistir passivamente
- Cometemos erros e aprendemos a resolvê-los (especialmente importante em programação!)
- Trabalhamos ao nosso próprio ritmo (alguns têm mais facilidade, outros precisam de mais tempo)
- Temos apoio imediato quando encravamos (e vão encravar—toda a gente encrava!)
A Estrutura de Cada Módulo
Cada módulo terá esta estrutura:
Mini-apresentação inicial (10-15 min): Apresento os conceitos principais, a estrutura e objectivos do módulo
Trabalho autónomo com tutoriais e exercícios: Vocês seguem os tutoriais interactivos ao vosso próprio ritmo, em grupos, pares, ou individualmente
Apoio individualizado contínuo: Eu circulo pela sala, ajudo no debugging, esclareço dúvidas, respondo a questões específicas (e.g., como aplicar X no contexto da minha investigação Y)
Projecto capstone: Fazer uma análise de dados desde a importação dos dados à escrita dos resultados, usando o que aprendemos em cada módulo. O projecto não será executado todo de uma vez, mas ao longo de todo o workshop.
Checkpoints de sincronização (20/30 min): Paramos todos, verificamos onde está cada um, resolvemos problemas comuns—foco em desbloquear os entraves (não em retirar-vos a oportunidade de fazerem)
Síntese e discussão do módulo: Resumo dos pontos-chave e partilha de experiências antes de avançarmos
Sei que pode parecer estranho não ter 200 slides para 16 horas de apresentação. Mas isto é completamente intencional.
É muito dificíl aprender programação…
Pois é!!!
se estivermos apenas a assistir e a compreender as coisas conceptualmente. Programação não é apenas uma aprendizagem semântica/teórica, é também uma questão muito prática e até de memória procedimental.
Seria estranho um workshop de ciclismo maioritariamente teórico, apenas com pequenos momentos para andarem de bicicleta.
Os tutoriais que vamos usar andam a ser desenvolvidos ao longo de alguns anos, já serviram de base a workshops e várias aulas, estando a ser refinados continuamente. Esta estrutura foi desenhada especificamente para maximizar as vossas aprendizagens e autonomia futura.
Se preferirem mais estrutura expositiva em algum momento, digam! Posso adaptar. Mas experimentem esta abordagem primeiro—podem surpreender-se com os resultados!
Surpreendidos pela positiva ou negativa?
Só o tempo o dirá :)
2 Setup
Antes de começarmos, certifiquem-se que têm instalado:
R e RStudio
Nota: se já usam outro IDE que não o RStudio, conseguirão seguir na mesma o workshop. O workshop não assume que usam o RStudio, mas se não têm experiência com nenhuma linguagem de programação (ou se questionam “que raio é um IDE”, o melhor será instalarem o RStudio.
Pacotes do R
Foi-vos pedido para instalarem alguns pacotes, se ainda não o fizeram, por favor, façam-no já.
A instalação dos pacotes pode demorar 10-15 minutos dependendo da ligação à internet, das especificações do vosso computador, etc… Por favor, façam-no já para depois podermos avançar com celeridade.
Se encontrarem problemas na instalação, chamem-me ao lugar quando chegar o primeiro bloco de trabalho autónomo.
3 Cronograma Detalhado
O horário do workshop pode ser consultado na página inicial do workshop.
Nesta página poderão consultar o cronograma detalhado.
4 Dia 1: Introdução ao R e Análise Descritiva
Data: 6 de Fevereiro de 2026
Tema central: Do zero até gráficos apelativos
Projecto Capstone: Milestones do Dia 1
Ao longo do workshop vamos construir progressivamente uma análise completa de um único dataset. Hoje os principais objectivos são:
- Manhã: Aprender a falar, ler e escrever R
- Tarde: Importar, Limpar, Reformatar e Visualizar Dados
Ao final do dia, terão um script que vai desde os dados brutos até gráficos apelativos. A ideia é exemplificar um workflow realista que poderão adaptar aos vossos próprios projectos!
Manhã
Módulo 1
09h30m - 11h00m
Apresentação Inicial (09h30 - 09h45)
- Apresentações mútuas e expectativas (o que já fizemos, se o plano foi cumprido)
- Apresentação do workshop (aquilo que estamos a fazer, se o plano ainda estiver a ser cumprido…)
- Por quê o R? As vantagens (e os desafios!)
- Definições iniciais: o que é o R? o que é o RStudio? o que é programar?
Tutorial 1: As Primeiras Palavras no R
Trabalho autónomo: 09h45 - 11h00m
Conceitos-chave:
- O R como calculadora
- Criar e usar variáveis/objectos
- Funções e argumentos (a metáfora das receitas de cozinha!)
- A importância dos comentários
Secções e exercícios obrigatórios:
- Todo o tutorial…
- Mas podem ler um pouco na diagonal, dado que estamos enquadrados no workshop e a seguir vamos continuar a aprender estes conceitos
Como está a correr?
Como está a ser dizer as primeiras palavras nesta linguagem?
Mais confiantes ou mais assustados?
Tutorial 2: A Gramática do R
Trabalho autónomo: 11h00 - 12h15
Conceitos-chave:
- Vectores: a estrutura de dados mais fundamental do R
- Tipos de dados (numeric, character, logical, factor)
- Indexação (como “escolher” elementos específicos)
- Funções básicas (
mean(),sum(),length(), etc.)
Aqueles que se sentem mais confortáveis, ou gostam mesmo de aprender por tentativa e erro podem começar pelos exercícios e irem vendo as secções à medida que vão surgindo as dúvidas e os desafios.
Secções obrigatórias:
- Todas as secções até: “Funções”
- Podem ler a das variáveis muito na diagonal, porque já aprenderam sobre elas no tutorial anterior
- Leiam “Usar Funções Escritas por Outros” até “Remover Pacotes”
- Saltem todas as outras, por favor.
Exercícios
- 1-4; 6; 9-10
Se já têm experiência podem saltar os que vos parecerem demasiado fáceis. Se estão a ter dificuldades, vão saltando aqueles que são mais semelhantes, para fazerem menos exercícios, mas manterem a variedade. Assim evitam a frustração e pressão temporal, sem deixarem de praticar as competências mais importantes.
Chamem-me ao lugar se este for o vosso caso, para vos ajudar a seleccionar os exercícios mais relevantes.
Calculem a média de um vector numérico.
Todos conseguiram?
Dificuldades?
Tutorial 3: Data Frames Gramática do R
Trabalho autónomo: 12h00 - 12h50
Conceitos-chave:
- Linhas
- Colunas
- Nomes de colunas
Aqueles que se sentem mais confortáveis, ou gostam mesmo de aprender por tentativa e erro podem começar pelos exercícios e irem vendo as secções à medida que vão surgindo as dúvidas e os desafios.
Secções obrigatórias:
- Todas
Exercícios
- Todoso
Se já têm experiência podem saltar os que vos parecerem demasiado fáceis. Se estão a ter dificuldades, vão saltando aqueles que são mais semelhantes, para fazerem menos exercícios, mas manterem a variedade. Assim evitam a frustração e pressão temporal, sem deixarem de praticar as competências mais importantes.
Chamem-me ao lugar se este for o vosso caso, para vos ajudar a seleccionar os exercícios mais relevantes.
Síntese e Discussão (12h50 - 13h00)
Discussão em grupo:
- Que conceitos foram mais difíceis?
- Dúvidas acumuladas?
- Como é que pensam que isto se relaciona (ou não) com o que vocês querem fazer?
Tarde
Módulo 2 (Parte 2): Importar, Limpar e Reformatar Dados
14h00 – 16h00
Apresentação inicial (14h00 – 14h10)
- O “ciclo” típico: importar → limpar → reformatar → explorar → modelar.
- Porquê passamos tanto tempo a preparar dados (spoiler: é normal).
Tutorial 4: Importação de Dados
Trabalho autónomo: 14h10 – 14h35
Secções obrigatórias:
- Importar pelo menos um ficheiro (idealmente CSV).
Tutorial 5: Limpeza de Dados
Trabalho autónomo: 14h35 – 15h05
Tutorial 6: Reformatação de Dados
Trabalho autónomo: 15h05 – 15h45
Secções obrigatórias:
- A parte conceptual (o que é “longo” e “largo”).
- Pelo menos um exemplo de
pivot_longer()e um depivot_wider().
Objectivo mínimo do bloco:
- Importar um dataset.
- Fazer uma limpeza simples (e.g., remover NAs numa variável-chave).
- Fazer uma transformação de formato (largo → longo ou longo → largo).
Se chegaram aqui, já estão no “núcleo” do workflow.
Capstone (Dia 1): Importar, limpar e reformatar
Trabalho autónomo: 15h45 – 16h00
- Importar o dataset do capstone.
- Corrigir nomes de variáveis (se necessário).
- Garantir tipos correctos.
- Deixar o dataset no formato mais útil para a exploração/plots.
Módulo 3: Descritivas Numéricas e Gráficos
16h00 – 17h30
Apresentação inicial (16h00 – 16h10)
- O que queremos numa exploração inicial: padrões, valores estranhos, diferenças entre grupos.
- Visualizar primeiro, testar depois.
Tutorial 7: Descritivas Numéricas
Trabalho autónomo: 16h10 – 16h40
Secções obrigatórias:
- Descritivas básicas.
- Descritivas por grupo (pelo menos um exemplo).
Tutorial 8: Gráficos no R
Trabalho autónomo: 16h40 – 17h15
Secções obrigatórias:
- Um gráfico com pontos.
- Um gráfico por grupo (e.g., boxplot).
Cada pessoa deve conseguir produzir um gráfico que responda a:
“O que é que está a acontecer nos meus dados?”
Não precisa de ser bonito. Precisa de ser útil.
Trabalho autónomo: 17h15 – 17h25
- Criar 2–3 gráficos sobre o dataset do capstone.
- Guardar o script (e, se possível, guardar um output/figura).
Fecho do Dia 1 (17h25 – 17h30)
- O que ficou feito.
- O que fica para o Dia 2.
- Perguntas rápidas.
5 Entre Sessões (6 a 13 de Fevereiro)
Desafios para Casa
Consolidem o que aprenderam. Sugestões:
- Refaçam os exercícios que vos deram mais dificuldade.
- Apliquem aos vossos dados: tentem importar, limpar e visualizar dados de um projecto vosso.
- Explorem datasets interessantes: o R tem dezenas de datasets incluídos.
Datasets interessantes para explorar
- Revisitem os tutoriais que não conseguiram completar durante o workshop.
Se quiserem continuar a praticar (e ter um sítio seguro para fazer perguntas), juntem-se ao RUGGED.
O RUGGED é um grupo informal onde:
- Trazem problemas reais (dados reais, erros reais, ansiedade real).
- Fazemos troubleshooting juntos.
- Partilhamos recursos, scripts e boas práticas.
Link: https://rggd.gitlab.io
Durante o workshop digo-vos exactamente como entrar (mailing list/Discord/WhatsApp—depende do que estiver activo neste momento). Se quiserem, no Dia 2 fechamos com 5 minutos para garantir que ninguém sai sem saber “onde pedir ajuda”.
6 Dia 2: Análise de Dados e Inferência Estatística
Data: 13 de Fevereiro de 2026
Tema central: Modelos estatísticos no R (e terminar o capstone com análises que vocês reconhecem: teste-t, regressão, ANOVA, medidas repetidas).
Projecto Capstone: Milestones do Dia 2
No Dia 2, o capstone evolui de “exploração” para “análise inferencial”:
- Manhã: Modelos lineares como framework geral (teste-t e regressão).
- Tarde: Comparação de grupos e medidas repetidas (incl. ANOVA mista).
No fim, a meta é terem um script completo que vocês conseguem ler, correr, e adaptar.
Manhã
Módulo 4: Modelos Lineares
Parte 1 (09h30 – 12h00): Capstone — teste-t para uma amostra
- Tutorial: Modelos Lineares
Estratégia: - 10–15 min de enquadramento. - Depois: vocês fazem; eu circulo.
Objectivo mínimo:
- Ajustar um
lm()simples. - Saber ler: coeficientes, erro-padrão, t, p.
Se isto estiver “ok”, todo o resto encaixa.
Parte 2 (12h00 – 13h00): Capstone — regressão linear
- Tutorial: Modelos Lineares
- Capstone: regressão linear (simples)
Almoço
13h00 – 14h00
Tarde
Módulo 4 (continuação): Comparação de grupos
14h00 – 16h00
- Tutorial: Modelos Lineares
-
Capstone: comparação de grupos (teste-t independente / ANOVA como
lm())
Objectivo mínimo:
- Conseguir comparar dois (ou mais) grupos.
- Saber o que é o “efeito do grupo” no output.
Se isto estiver sólido, já conseguem analisar grande parte dos estudos “clássicos”.
Módulo 5: Medidas Repetidas
16h00 – 17h00
- Tutorial: Medidas Repetidas
- Capstone: ANOVA mista
Módulo 6: Recursos + RUGGED
17h00 – 17h30
- Onde procurar ajuda (docs, cheatsheets, “como ler um erro”).
- Como continuar a aprender.
- RUGGED: como manter a prática (sem estar sozinho).
O objectivo do workshop não é “fazer tudo”.
O objectivo é:
- perderem o medo do R
- adoptarem um workflow realista
- saberem onde procurar ajuda
- conseguirem continuar sem mim