O Sweave é uma funcionalidade do R implementada por algumas funções do pacote utils (no pacote tools em versões mais antigas do R) que permite a edição ágil de documentos combinando o LATEXe o R.
Usando o Sweave o usuário pode ter comandos, saídas computacionais e/ou gráficos incluídos automaticamente no texto, sem a necessidade de fazer tal inclusão manualmente e passo a passo. Este macanismo também permite que o texto seja agil e automáticamente atualizado para qualquer mudança ou inclusão de dados e/ou nas análises, acelerando muito o processo de edição de textos.
Uma outra vantagem relevante é a de que todo código usado para análise fica no arquivo texto (fonte) preservando a memória dos procedimentos usados e possibilitando a reprodução ou modificação da análises facilmente e a qualquer tempo.
Com estes aspectos o Sweave torna-se uma feramenta adequada para o que se chama de pesquisa reproduzível (reproducible research) uma vez que permite que o código das análises seja disponibilizado junto e inegrado ao texto.
As possibilidades de uso do Sweave são diversas e podemos citar como examplos a confecção de relatórios, provas, listas de exercícios, textos técnicos, relatórios de análises, artigos científico e livros. Outro exemplo ainda é este material sobre o R que foi todo originalmente editado em formato Sweave.
Os passos básicos para uso do Sweave são:
Ao final destes passos, a função Sweave() irá imprimir uma mensagem na tela como a seguir dizendo que o documento foo.tex foi gerado.
Caso outra mensagem que não esta apareça na tela algum problema deve ter ocorrido com o código R em seu documento. Leia a mensagem, identifique e corrija o erro e processe novamente com Sweave().
Note que para o comando acima funcionar o "script"Sweave.sh deve estar como arquivo
executável e disponível no seu PATH.
Alternativamente voce pode copiá-lo para o seu diretório de trabalho e rodar com:
Este arquivo deve estar em formato executável e para assegurar isto no LINUX digita-se:
O script Sweave.sh foi portanto substituído pelo comando R CMD Sweave, mas permanece de interesse caso deseje-se modificar para adaptar à alguma necessidade específica do usuário.
Há duas formas de controlar o tamanho de gráficos no Sweave, a primeira via R especificando o tamanho do gráfico a ser gerado, e segunda usando comandos do LATEXpara definir o tamanho dos gréficos. Os dois mecanismos podem ser usados em conjunto.
O primeiro mecanismo usa a definição do tamanho da imagem em argumentos do chunk como <<fig=true, width=L, height=A>>=, onde L e A são números em unidades de polegadas.
No segundo mecanismo usa-se recursos do pacote graphicx do LATEXcom o comando \setkeys{Gin}{width=L}, onde L é uma unidade de medida do LATEXtal como 0.8\textwidth (80% da largura do texto) ou 5cm. Pode-se definir também a altura do gráfico, caso contrário a figura é escalonada automaticamente mantendo a proporção entre largura e altura.