Guia de Sobrevivência ao R
Este guia ajuda a escolher o que praticar, a sair de um bloqueio e a pedir ajuda. Não precisa de o ler de ponta a ponta. Se veio por causa de um erro, salte para o protocolo de debug ou para o troubleshooting rápido.
0 Escolher Um Percurso
Estou a Começar
Se ainda não tem o R, comece pela instalação. Depois abra a introdução ao R e experimente os comandos à medida que os lê. Quando conseguir criar um objecto, usá-lo num cálculo e perceber o resultado, passe aos fundamentos. Não precisa de decorar a lista de funções antes de começar a trabalhar com dados.
Para uma primeira tarefa com uma tabela, siga os data frames e a importação de dados. Escolha dados para praticar na página de dados, em vez de estrear tudo ao mesmo tempo com o ficheiro mais complicado do seu projecto.
Já Usei R, Mas Preciso de Relembrar
Abra os exercícios de um tutorial de programação que lhe pareça familiar e tente resolver um antes de consultar a solução. Se souber o que quer fazer mas não se lembrar da sintaxe, use os fundamentos de R como referência. Se não conseguir explicar o resultado, volte à explicação do tutorial. São dificuldades diferentes e não exigem recomeçar tudo do zero.
Quero Analisar os Meus Dados
Comece por escrever a pergunta e dizer o que representa uma linha do seu ficheiro. Que linhas pertencem à mesma pessoa, animal, tanque ou local? Se ainda não consegue responder, consulte o delineamento da investigação antes de escolher a análise.
Depois de importar os dados, inspeccione-os com descritivas e gráficos. Para comparar médias ou estudar uma relação, siga Modelos Lineares no R: pergunta → modelo → estimativa → comparação → gráfico → interpretação. Mesmo que venha à procura de um teste-t, é por modelos com lm() que trabalhamos aqui; a teoria explica a ligação na comparação de modelos.
Se há medições repetidas da mesma unidade, consulte medidas repetidas; se a resposta é uma proporção ou contagem, veja proporções e contagens. O diagnóstico ajuda a avaliar o modelo, e a escrita científica ajuda a comunicar as estimativas e o que permitem concluir.
Quero Perceber Porquê
Pode começar pela teoria e experimentar no R cada ideia que for aprendendo. Para compreender o que teste-t, regressão e ANOVA têm em comum, leia a comparação de modelos em blocos, alternando com o tutorial prático.
Quando a dúvida for sobre as condições que justificam a inferência, siga para Pressupostos do Modelo Linear. A Estatística Robusta aprofunda depois as alternativas quando a análise é demasiado sensível a essas condições. Não precisa de aprender essas alternativas todas antes de ajustar o seu primeiro modelo.
1 Trabalhar e Pedir Ajuda
Quando Encravar
Vai encontrar erros e momentos em que não sabe como continuar. Quando isso acontecer, comece pela mensagem de erro e pelo código que a produziu.
Mesmo com experiência, passamos tempo a procurar e corrigir erros. Aprender a fazê-lo é parte do trabalho de programar.
Protocolo de Debug
- Faça uma pausa curta se a frustração o estiver a impedir de ler o código.
-
Leia a mensagem de erro. Palavra por palavra. O R está a tentar ajudar!
-
Error in ../.indica onde o problema está. - Muitas vezes, a mensagem diz explicitamente o que está mal.
-
- Identifique a linha problemática. O R normalmente indica qual linha causou o erro. Se não indicar, corra o código linha a linha.
-
Verifique problemas comuns:
- Fechou todos os parênteses?
(precisa de). - Fechou todas as aspas?
"precisa de". - O nome do objecto está correcto?
dados≠Dados(o R distingue maiúsculas de minúsculas). - A vírgula está no sítio certo?
- Carregou o pacote necessário, por exemplo,
library(ggplot2)? - O objecto já foi criado?
- Fechou todos os parênteses?
- Pesquise a mensagem de erro. Copie-a e procure uma explicação que se aplique ao seu código.
- Peça ajuda se continuar bloqueado.
Se estiver bloqueado no mesmo problema há mais de 15 minutos, peça ajuda a um colega, docente ou comunidade de programação. Explique o que esperava e o que aconteceu: isso ajuda a localizar o problema.
Como Pedir Ajuda Eficazmente
Quando pedir ajuda (ou publicar a dúvida online), partilhe:
- O código que está a tentar correr.
- A mensagem de erro completa (não diga apenas «dá erro»).
- O que esperava que acontecesse.
- O que já tentou, para evitar repetir sugestões.
Exemplo útil: > «Estou a tentar fazer um boxplot com ggplot(dados, aes(x = grupo, y = resposta)) + geom_boxplot(), mas aparece o erro “object ‘grupo’ not found”. Já confirmei que a coluna existe no data frame. O que posso verificar?»
Um relato como «o meu gráfico não funciona» não dá informação suficiente para identificar o problema.
Trabalhar em Pares
Pode trabalhar sozinho ou em pares. A programação em pares (pair programming) permite discutir o raciocínio e resolver problemas em conjunto. Se trabalhar com alguém, alternem quem escreve e quem acompanha o código.
- Alternem quem está ao teclado (driver) e quem acompanha (navigator).
- Expliquem o raciocínio em voz alta e façam perguntas.
- Confirmem que ambos conseguem explicar o código.
- Evitem que uma pessoa faça tudo enquanto a outra observa, ou avancem sem ambos perceberem o que aconteceu.
Respeitem ritmos diferentes. Pode dizer: «Preciso de um momento para perceber esta parte» ou perguntar «Preferes que explique esta secção ou queres ler primeiro o tutorial?»
Trabalhar ao Seu Ritmo
Escolha os próximos passos conforme as dificuldades que encontrar. Se avançar rapidamente, ajude colegas, explore exercícios mais difíceis ou experimente aplicar o que aprendeu aos seus próprios dados. Se precisar de mais tempo, concentre-se nas bases de que precisa agora e regresse mais tarde às secções que lhe custaram. Não precisa de completar tudo de uma vez.
O objectivo não é memorizar todas as funções: é construir uma base conceptual, saber onde procurar informação e ganhar autonomia para continuar a aprender.
Perguntar
Não precisa de ter uma pergunta bem formulada para pedir ajuda. Pode mostrar a linha em que ficou preso ou dizer que parte da explicação perdeu. Por exemplo:
- «Não percebi o que é X.»
- «Porque fazemos Y desta forma?»
- «Isto funcionou, mas não sei bem porquê.»
- «Há uma forma mais simples de fazer Z?»
- «Como aplico isto ao meu contexto?»
Se a resposta não esclarecer a dúvida, diga onde deixou de conseguir acompanhar.
Fazer Pausas
Faça pausas, mesmo que não sinta que precisa. Programar exige atenção e resolução de problemas; não tente trabalhar durante horas sem parar. Uma pausa pode ajudar se começar a cometer erros que antes evitava, reler a mesma linha sem a perceber, sentir irritação com erros triviais ou perder a concentração.
Levante-se, estique-se, beba água, descanse os olhos ou converse com alguém. A técnica Pomodoro é uma possibilidade: 25 minutos de trabalho concentrado, seguidos de 5 minutos de pausa; após quatro ciclos, faça uma pausa mais longa. Adapte os intervalos ao que funciona para si.
2 Troubleshooting Rápido
“object not found”
O que significa: o R não encontra o objecto indicado.
Causas comuns: gralha no nome, diferença entre maiúsculas e minúsculas, a linha que cria o objecto ainda não foi corrida, ou falta carregar o pacote necessário.
Veja que objectos existem e inspeccione o que pretende usar. Substitua nome_do_objecto pelo nome do seu objecto.
“could not find function”
O que significa: a função não existe com esse nome ou o R não a conhece. Verifique a grafia e se carregou o pacote que a contém. Carregue-o na secção de dependências do script, antes de o usar:
library(nome_do_pacote)Se o pacote não estiver instalado, instale-o uma vez na consola, como preparação do ambiente, não no script de análise:
install.packages("nome_do_pacote")“unexpected X”
O R encontrou algo inesperado na sintaxe. Verifique parênteses e aspas por fechar, vírgulas a mais ou a menos e operadores incorrectos.
“+” aparece na consola em vez de “>”
O R está à espera que complete um comando, normalmente porque faltam parênteses, aspas ou chavetas. Complete a sintaxe ou carregue em Esc para cancelar e recomeçar.
Gráfico em Falta ou em Branco
Verifique se usou + entre camadas do ggplot, se os nomes em aes() correspondem às colunas e se há valores em falta ou escalas inadequadas. Inspeccione os dados e experimente uma versão mínima do gráfico:
summary(dados)
ggplot(dados, aes(x = var1, y = var2)) +
geom_point()Adicione camadas gradualmente e substitua dados, var1 e var2 pelos nomes que está a usar.
Avisos e Erros
Um aviso indica que o código correu, mas que algo pode estar estranho; leia o aviso e avalie se afecta o resultado. Um erro indica que o código não correu e precisa de ser resolvido antes de prosseguir.
3 Links de Referência
Para uma consulta rápida de sintaxe, veja as cheatsheets da Posit. Para estudar com outros exemplos, pode consultar R for Data Science, Learning Statistics with R, Statistical Thinking for the 21st Century, PsyTeachR, R for Psychological Science, Modern Statistics for Modern Biology. Para procurar dúvidas já discutidas ou pedir ajuda, veja Stack Overflow para R, RStudio Community e Cross Validated.