R para
Auditoria
7 bibliotecas · código prático · casos reais
R é a linguagem de escolha de estatísticos, cientistas de dados e — cada vez mais — auditores que precisam ir além do Excel. Grátis, poderoso e com um ecossistema de pacotes especializados que cobre cada etapa do trabalho de auditoria.
Por que R? E por que agora, para auditores?
O R foi criado em 1993 como linguagem estatística de código aberto. Hoje é uma das linguagens de análise de dados mais usadas no mundo, com mais de 20.000 pacotes disponíveis no CRAN — o repositório oficial. Para auditores, o que torna o R especialmente atraente não é sua origem acadêmica, mas sua capacidade de automatizar análises que levariam dias no Excel e de produzir resultados reproduzíveis, documentados e auditáveis.
Um script R é, por natureza, um registro auditável de cada passo da análise. Diferente de uma planilha onde fórmulas se perdem em células e transformações ficam implícitas, um script R documenta explicitamente o que foi feito, em que ordem e com quais parâmetros. Para uma profissão que valoriza trilhas de evidência, isso é uma vantagem estrutural, não apenas técnica.
Este artigo apresenta sete bibliotecas do ecossistema R com aplicação direta à auditoria. Para cada uma: o que faz, quando usar em contexto de auditoria e um exemplo de código comentado com caso de uso real. O nível é intermediário — é útil ter alguma familiaridade com R, mas os exemplos foram escritos para serem compreensíveis mesmo para quem está começando.
Sete bibliotecas, sete fichas técnicas com código
O R é a linguagem e o motor de execução. O RStudio é o ambiente de desenvolvimento integrado (IDE) que torna o trabalho com R muito mais produtivo: editor de script com destaque de sintaxe, visualizador de dados, painel de gráficos e console integrado. Para auditoria, o RStudio permite criar scripts reproduzíveis — cada análise pode ser re-executada exatamente da mesma forma, o que é fundamental para documentação de evidências.
- Instalar R primeiro: r-project.org → Download → CRAN
- Instalar RStudio depois: posit.co/download/rstudio-desktop
- Instalar pacotes com: install.packages("nome_do_pacote")
- Carregar pacotes com: library(nome_do_pacote)
- Scripts são salvos como arquivos .R — documentam toda a análise
O readxl importa planilhas Excel (.xls e .xlsx) para o R sem precisar ter o Excel instalado. É o ponto de entrada mais comum para dados de auditoria, já que a maioria das organizações ainda exporta relatórios em planilhas. O openxlsx vai além: além de ler, permite escrever planilhas formatadas com resultados de análise — útil para entregar achados em formato que o auditado reconhece.
- Importar extratos de ERP exportados como Excel
- Ler múltiplas abas de uma planilha (relatórios mensais em abas separadas)
- Exportar resultado da análise com formatação: células coloridas por risco, bordas, cabeçalhos
- Automatizar geração de planilha de achados a partir do script
O dplyr fornece um conjunto de verbos intuitivos para manipulação de dados: filter() para filtrar linhas, select() para selecionar colunas, mutate() para criar novas variáveis, summarise() para agregar e group_by() para agrupar. A combinação desses verbos com o operador pipe (|>) permite escrever análises de dados em linguagem quase natural — cada passo é lido da esquerda para a direita como uma instrução.
- Filtrar transações acima de limite de aprovação
- Agrupar despesas por centro de custo e calcular totais
- Identificar fornecedores com volume acima do esperado
- Criar flag de anomalia: valores fora do intervalo histórico
- Comparar dois períodos: variação absoluta e percentual por categoria
O ggplot2 é o sistema de visualização de dados mais usado no R, baseado na ideia de que gráficos são compostos de camadas: dados, mapeamentos estéticos (x, y, cor, tamanho), geometrias (barras, pontos, linhas) e temas visuais. Para auditoria, a principal vantagem é produzir gráficos de qualidade que comunicam achados com clareza para relatórios e apresentações — sem depender de Excel ou ferramentas de design.
- Gráfico de barras: despesas por categoria ou fornecedor
- Série temporal: evolução mensal de pagamentos para detectar sazonalidade atípica
- Dispersão: relação entre valor pedido e valor aprovado (outliers visíveis)
- Histograma: distribuição de valores para visualizar concentração antes da estratificação
- Gráfico de Benford: distribuição de primeiros dígitos observada vs. esperada
O tidyr resolve um problema frequente em dados de auditoria: dados que chegam em formato inadequado para análise. Sua função principal é transformar dados entre dois formatos: wide (cada período em uma coluna, comum em planilhas de orçamento) e long (cada observação em uma linha, necessário para a maioria das análises e gráficos no R). Também oferece funções para separar colunas combinadas e preencher valores ausentes.
- Transformar relatório de orçamento (colunas Jan, Fev, ..., Dez) em formato longo para análise
- Separar colunas combinadas: "CNPJ/Nome" em duas colunas separadas
- Preencher células vazias que representam repetição do valor anterior
- Preparar dados para cruzamento entre duas bases em formatos diferentes
O janitor foi desenhado especificamente para limpeza de dados do mundo real — planilhas com nomes de colunas bagunçados, linhas em branco, totais embutidos e dados duplicados. Sua função clean_names() padroniza automaticamente os nomes das colunas para o formato snake_case. O get_dupes() identifica registros duplicados por qualquer combinação de colunas. O tabyl() produz tabelas de frequência que funcionam como análise de Pareto rápida.
- Sempre que importar dados de uma nova fonte: clean_names() como primeiro passo
- Teste de duplicidade por CNPJ, número de documento ou combinação de campos
- Tabela de frequência rápida: quantas ocorrências por fornecedor, por aprovador, por categoria
- Remover linhas em branco e totais que contaminam a análise
O pacote benford.analysis implementa o teste completo da Lei de Benford em R: calcula a distribuição observada dos primeiros (e segundos) dígitos, compara com a distribuição esperada, calcula métricas estatísticas de desvio (qui-quadrado, MAD — Mean Absolute Deviation) e identifica automaticamente quais dígitos apresentam desvio mais significativo. O plot() gera gráfico pronto para relatório. O getSuspects() extrai as transações que mais contribuíram para o desvio.
- Triagem inicial de base de despesas, pagamentos ou reembolsos
- Comparação entre períodos: o padrão de dígitos mudou entre 2023 e 2024?
- Análise por aprovador: algum aprovador tem distribuição diferente dos demais?
- Análise por fornecedor: algum fornecedor específico apresenta desvio relevante?
Qual biblioteca usar em cada etapa da análise
A tabela a seguir organiza as sete bibliotecas pelas etapas típicas de uma análise de auditoria baseada em dados — da importação à comunicação de achados.
| Biblioteca | Importar dados | Limpar dados | Analisar / testar | Comunicar achados |
|---|---|---|---|---|
| readxl / openxlsx | ✓ Principal | Apoio | — | ✓ Exportar |
| janitor | — | ✓ Principal | Apoio | — |
| tidyr | — | ✓ Principal | Apoio | — |
| dplyr | — | Apoio | ✓ Principal | Apoio |
| benford.analysis | — | — | ✓ Principal | Apoio |
| ggplot2 | — | — | Apoio | ✓ Principal |
| R + RStudio | ✓ Base | ✓ Base | ✓ Base | ✓ Base |
| Biblioteca | Melhor uso em auditoria | Armadilha principal |
|---|---|---|
| readxl | Importar planilhas sem depender do Excel | Não verificar n de linhas importadas vs. esperado |
| openxlsx | Entregar achados formatados em Excel para o auditado | Formatar antes de validar os dados — erro na fonte, relatório errado |
| dplyr | Filtrar, agrupar e sumarizar transações em segundos | Esquecer o group_by() antes do summarise() — agrega tudo errado |
| ggplot2 | Produzir gráficos de qualidade para relatório e apresentação | Gráfico sem fonte dos dados e data de extração |
| tidyr | Transformar planilhas wide-para-long para análise | Não validar n de linhas após pivot — pode duplicar ou perder dados |
| janitor | Limpar nomes e detectar duplicatas em qualquer base | Usar get_dupes() sem definir critério de duplicidade |
| benford.analysis | Triagem estatística de conjuntos grandes para priorizar investigação | Reportar desvio de Benford como evidência de fraude |
O que o R muda na auditoria — e o que não muda
A adoção do R na auditoria muda três coisas de forma estrutural. Primeiro, a escala: análises que antes exigiam amostrar mil registros passam a cobrir um milhão com o mesmo esforço. Segundo, a reprodutibilidade: o script documenta cada passo, tornando a análise auditável por si mesma. Terceiro, a velocidade de iteração: ajustar um filtro, mudar uma data de corte ou testar uma hipótese diferente leva segundos, não horas.
O que o R não muda: a necessidade de ceticismo profissional, de entender o processo antes de testar os dados, e de investigar manualmente os sinais que a análise produz. Um filter() mal especificado produz um resultado errado com a mesma velocidade que um correto. Um gráfico bonito com dados sujos continua sendo evidência de má qualidade.
O R automatiza a análise. Não automatiza o julgamento. O auditor que confunde velocidade de execução com qualidade de conclusão vai produzir erros em escala — o que é, de certa forma, pior do que produzir erros devagar.Auditossauros · Volume 1 · R para Auditoria
O dinossauro que trocou o Excel pelo R e não voltou mais
O Volume 1 dos Auditossauros tem uma relação honesta com ferramentas: respeita o que elas fazem, desconfia do que elas parecem fazer e insiste que nenhuma substitui a pergunta certa. O R não é exceção.
A transição do Excel para o R não é imediata nem indolor. As primeiras semanas produzem mais frustração do que análise. Mensagens de erro que não fazem sentido, dados que não importam como esperado, gráficos que saem errados. Esse período existe e faz parte — e é exatamente o período em que o auditor aprende onde cada ferramenta quebra, o que é um conhecimento que não aparece em nenhum tutorial.
O que fica depois do período inicial é algo que o Excel nunca ofereceu com a mesma consistência: a capacidade de re-executar a análise completa, do arquivo bruto ao relatório final, com um único clique. De compartilhar o script com um colega que reproduz exatamente os mesmos resultados. De atualizar a análise quando os dados mudam sem refazer tudo do zero.
Para o universo Auditossauros, o R representa o mesmo que qualquer boa ferramenta: um amplificador de competência. Na mão de um auditor que entende o processo e faz as perguntas certas, ele produz evidências robustas em escala. Na mão de quem busca respostas antes de entender as perguntas, ele produz resultados rápidos que precisam ser descartados com a mesma velocidade.
Este artigo conecta-se diretamente com o Artigo 12 — Laboratório de Dados do Auditor, que cobre as ferramentas quantitativas em nível conceitual, e com o Artigo 11 — Kit de Campo do Auditor, sobre ferramentas analíticas qualitativas.
O script está escrito. A análise está documentada. O achado ainda precisa ser investigado.
O ecossistema R para auditoria cresceu nos últimos anos de forma significativa. Pacotes como o benford.analysis fazem em três linhas o que antes exigia programação manual de horas. O janitor resolve em segundos problemas de qualidade de dados que consumiam turnos de trabalho. O dplyr torna consultas complexas legíveis e mantidas.
Mas a maturidade do auditor que usa R não se mede pela quantidade de pacotes que conhece. Mede-se pela capacidade de documentar as decisões analíticas no próprio script — não apenas o código, mas o raciocínio por trás de cada filtro, cada critério de duplicidade, cada parâmetro do teste de Benford.
Um script bem comentado é, por si só, um documento de auditoria. Ele responde às perguntas que qualquer revisor vai fazer: o que foi testado, como foi testado, com quais premissas e com quais limitações. Escrever código é a parte que o R facilita. Documentar as decisões — essa parte ainda exige o auditor.
Referências verificadas
↗ r-project.org ↗ CRAN
↗ tidyverse.org ↗ CRAN
↗ readxl.tidyverse.org ↗ CRAN
↗ Documentação ↗ CRAN
↗ Documentação ↗ CRAN
↗ Livro online (gratuito) ↗ CRAN
Auditossauros Volume 1
A série que trocou o Excel pelo R e descobriu que a ferramenta não muda a pergunta — só a velocidade da resposta.
Comentários