Capítulo 21 Computação estatística
21.1 Programas de computador
21.1.1 O que é R?
R é um programa de computador de código aberto com linguagem computacional direcionada para análise estatística.197,198
R version 4.5.0 (2025-04-11) está disponível gratuitamente em Comprehensive R Archive Network (CRAN).199
21.1.2 Por que usar R?
- R é o software de maior abrangência de métodos estatísticos, possui sintaxe que permite análises estatísticas reproduzíveis e está disponível gratuitamente no Comprehensive R Archive Network (CRAN).23,199
21.1.3 O que é RStudio?
RStudio é um ambiente de desenvolvimento integrado (integrated development environment, IDE) desenvolvido visando a reprodutibilidade e a simplicidade para a criação e disseminação de conhecimento.198,200
O ambiente do RStudio é dividido em paineis:

Figura 21.1: Interface do RStudio. Fonte: https://docs.posit.co/ide/user/
As principais características do RStudio incluem um ambiente de edição com abas para acesso rápido a arquivos, comandos e resultados; histórico de comandos previamente utilizados; ferramentas para visualização de bancos de dados e elaboração de scripts e gráficos e tabelas.198,200
RStudio está disponível gratuitamente em Posit.
O pacote learnr201 fornece tutoriais interativos para RStudio.
21.2 Scripts computacionais
21.2.1 O que são R scripts?
“Scripts são dados”.206
Scripts permitem ao usuário se concentrar nas tarefas mais importantes da computação e utilizar pacotes ou bibliotecas para executar as funções mais básicas com maior eficiência.206
Um script é um arquivo de texto contendo (quase) os mesmos comandos que você digitaria na linha de comando do R. O “quase” refere-se ao fato de que se você estiver usando sink() para enviar a saída para um arquivo, você terá que incluir alguns comandos em print() para obter a mesma saída da linha de comando.
21.3 Pacotes
21.3.1 O que são pacotes?
Pacotes são conjuntos de scripts programados pela comunidade e compartilhados para uso público.198
Os pacotes ficam armazenados no Comprehensive R Archive Network (CRAN) e podem ser instalados diretamente no RStudio.198,199
Na mais recente atualização deste livro, o [Comprehensive R Archive Network (CRAN) possui 381446 pacotes disponíveis.198,199
Os pacotes disponíveis podem ser encontrados em R PACKAGES DOCUMENTATION.207
O pacote utils208 fornece a função install.packages para instalar os pacotes no computador.
O pacote utils208 fornece a função installed.packages para listar os pacotes instalados no computador.
O pacote utils208 fornece a função update.packages para atualizar os pacotes instalados no computador.
21.3.2 Quais práticas são recomendadas na redação de scripts?
Use nomes consistentes para as variáveis.209
Defina os tipos de variáveis adequadamente no banco de dados.209
Defina constantes - isto é, variáveis de valor fixo - ao invés de digitar valores.209
Use e cite os pacotes disponíveis para suas análises.209
Teste o script antes de sua utilização.209
Conduza revisão por pares do código durante a redação (digitação em dupla).209
O pacote formatR211 fornece a função tidy_source para formatar um R script.
O pacote styler212 fornece a função style_file para formatar um R script.
O pacote lintr213 fornece a função lint para verificar a adesão de um script a um determinado estilo, identificando erros de sintaxe e possíveis problemas semânticos.
21.4 Manuscritos reproduzíveis
21.4.1 O que são manuscritos reproduzíveis?
- Manuscritos reproduzíveis - manuscritos executáveis ou relatórios dinâmicos - permitem a produção de um manuscrito completo a partir da integração do banco de dados da(s) amostra(s), do(s) script(s) de análise estatística (incluindo comentários para sua interpretação), dos pacotes ou bibliotecas utilizados, das fontes e referências bibliográficas citadas, além dos demais elementos textuais (tabelas, gráficos) - todos gerados dinamicamente.206
21.4.2 Por que usar manuscritos reproduzíveis?
No processo tradicional de redação científica há muitas etapas de copiar e colar não reproduzíveis envolvidas. Documentos dinâmicos combinam uma ferramenta de processamento de texto com o R script que produz o texto/tabela/figura a ser incorporado no manuscrito.23
Ao trabalhar com relatórios dinâmicos, é possível extrair o mesmo script usado para análise estatística. Os documentos podem ser compilados em vários formatos de saída e salvos como DOCX, PPTX e PDF.23
Muitos erros de análise poderiam ser evitados com a adoção de boas práticas de programação em manuscritos reproduzíveis.214
O pacote rmarkdown215 fornece as funções render para criar manuscritos reprodutíveis a partir de arquivos .Rmd.
O pacote officedown216 fornece as funções rdocx_document e rpptx_document para criar arquivos DOCX e PPTX, respectivamente, com o conteúdo criado no manuscrito reprodutível.
O pacote bookdown217 fornece as funções gitbook, pdf_book, epub_book e html_document2 para criar documentos reprodutíveis em diversos formatos (Git, PDF, EPUB e HTML, respectivamente).
21.4.3 O que é RMarkdown?
RMarkdown215 é uma ferramenta que permite a integração de texto, código e saída em um único documento. O RMarkdown é uma extensão do Markdown, que é uma linguagem de marcação simples e fácil de aprender, que é usada para formatar texto. O RMarkdown permite a inclusão de blocos de código R, Python, SQL, C++, entre outros, e a saída desses blocos de código é incorporada ao documento final. O RMarkdown é uma ferramenta poderosa para a criação de relatórios dinâmicos, que podem ser facilmente atualizados com novos dados ou análises. O RMarkdown é amplamente utilizado na comunidade científica para a criação de relatórios de pesquisa, artigos científicos, apresentações, livros, entre outros.
O trabalho com RMarkdown215 permite um fluxo de dados totalmente transparente, desde o conjunto de dados coletados até o manuscrito finalizado. Todos os aspectos do fluxo de dados podem ser incorporados em blocos de R script (chunk), exibindo tanto o R script quando o respectivo texto, tabelas e figuras formatadas no estilo científico de interesse.218
O RMarkdown215 foi projetado especificamente para relatórios dinâmicos onde a análise é realizada em R e oferece uma flexibilidade incrível por meio de uma linguagem de marcação.23
21.4.4 Como manuscritos reprodutíveis contribuem para a ciência?
- O compartilhamento de bancos de dados e seus scripts de análise estatística permitem a adoção de práticas reprodutíveis, tais como a reanálise dos dados.219
O pacote projects220 fornece a função setup_projects para criar um projeto com arquivos organizados em diretórios.
21.4.5 Como contribuir para a reprodutibilidade?
Disponibilize publicamente os bancos de dados, respeitando as considerações éticas vigentes (ex.: autorização dos participantes e do Comitê de Ética em Pesquisa) e internacionalmente.23
Produza manuscritos reprodutíveis - manuscritos executáveis ou relatórios dinâmicos - que permitem a integração do banco de dados da(s) amostra(s), do(s) script(s) de análise estatística (incluindo comentários para sua interpretação), dos pacotes ou bibliotecas utilizados, das fontes e referências bibliográficas citadas, além dos demais elementos textuais (tabelas, gráficos) - todos gerados dinamicamente.206
O pacote rmarkdown215 fornece a função render para criar manuscritos reprodutíveis a partir de arquivos .Rmd.
O pacote bookdown217 fornece as funções gitbook, pdf_book, epub_book e html_document2 para criar documentos reprodutíveis em diversos formatos (Git, PDF, EPUB e HTML, respectivamente).
21.5 Compartilhamento
21.5.1 Por que compartilhar scripts?
- Compartilhar o script — principalmente junto aos dados — pode facilitar a replicação direta do estudo, a detecção de eventuais erros de análise, a detecção de pesquisas fraudulentas.221
21.5.2 O que pode ser compartilhado?
Idealmente, todos os scripts, pacotes/bibliotecas e dados necessários para outros reproduzirem seus dados.210
Minimamente, partes importantes incluindo implementações de novos algoritmos e dados que permitam reproduzir um resultado importante.210
21.5.4 Como preparar scripts para compartilhamento?
Providencie a documentação sobre seu script (ex.: arquivo README).210
Inclua a versão dos pacotes usados no seu script por meio de um script inicial para instalação de pacotes (ex.: ‘instalar.R’).214
Documente em um arquivo README os arquivos disponíveis e os pré-requisitos necessários para executar o código (ex.: pacotes e respectivas versões). Uma lista de configurações (hardware e software) que foram usadas para rodar o código pode ajudar na reprodução dos resultados.22
Use endereços de arquivos relativos.214
Crie links persistentes para versões do seu script.210
Defina uma semente para o gerador de números aleatórios em scripts com métodos computacionais que dependem da geração de números pseudoaleatórios.22
O pacote base52 fornece a função set.seed para especificar uma semente para reprodutibilidade de computações que envolvem números aleatórios.
Escolha uma licença apropriada para garantir os direitos de criação e como outros poderão usar seus scripts.210
Teste o script em uma nova sessão antes de compartilhar.214
Cite todos os pacotes relacionados à sua análise.222
O pacote grateful223 fornece a função cite_packages para citar os pacotes utilizados em um projeto R.
- Inclua a informação da sessão em que os scripts foram rodados.214
O pacote utils208 fornece a função sessionInfo para descrever as características do programa, pacotes e plataforma da sessão atual.
21.5.5 O que incluir no arquivo README?
Título do trabalho.22
Autores do trabalho.22
Principais responsáveis pela escrita do script e quaisquer outras pessoas que fizeram contribuições substanciais para o desenvolvimento do script.22
Endereço de e-mail do autor ou contribuidor a quem devem ser direcionadas dúvidas, comentários, sugestões e bugs sobre o script.22
Lista de configurações nas quais o script foi testado, tais com nome e versão do programa, pacotes e plataforma.22