35 Usando o Sweave

35.1 O que é e por que adotar o Sweave

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.

35.2 Usando o Sweave

Os passos básicos para uso do Sweave são:

1.
Editar o arquivo .Rnw. Neste documento vamos supor que seu arquivo se chama foo.Rnw
2.
Iniciar o R
3.
rodar a função Sweave() no seu documento com um comando do tipo: «eval=F» Sweave("foo.Rnw")

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.

You can now run LaTeX on 'foo.tex'

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().

4.
Compile e visualize o documento LATEX de forma usual.

35.3 Outras informações úteis para uso do Sweave

35.4 Controlando o tamanho dos gráficos

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.

35.5 Exemplos de arquivos em Sweave

1.
Um exemplo de um arquivo .Rnw.
2.
Arquivo com o conteúdo da seção sobre distribuições de probabilidades deste material. Para compilar este exemplo voce poderá precisar copiar também os seguintes arquivos: Sweave.sty, Rd.sty e upquote.sty,
3.
Documento mostrando como obter tabelas estatísticas a partir do R.

35.6 Links