Sweave - Interface entre R e LATEX

Documentos relacionados
Overview L A T E X. Ocina de Ferramentas para Auxílio Estatístico. 8 de maio de Programa de Educação Tutorial de Estatística

Uso do Software R em curso à distância de Estatística Básica 1

Flávia Cassin (EESC) 1

1 Como compilar seu código? 2 Comandos de terminal:

Curso introdutório de L A TEX

Comunicação Científica em Física A estrutura de um artigo científico

Flávia Cassin (EESC) 1

Passo-a-passo para desenvolver um Programa usando a Linguagem Python

Produção de tutoriais. Suellem Oliveira

Produção de tutoriais. Suellem Oliveira

TUTORIAL DE UTILIZAÇÃO DO OWL-S COMPOSER W. Trabalho de Conclusão de Curso Aluno: Adriano Novais Queiroz Orientadora: Prof.ª Daniela Barreiro Claro

Produção de tutoriais. Suellem Oliveira

IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias

Curso introdutório de L A TEX

Linguagem de Programação II Programação Orientada a Objetos. Ambientes de Programação

Minicurso de MATLAB. Programa de Educação Tutorial de Engenharia Elétrica. lmax Rodrigues. lcaroline Pereira. lnayara Medeiros

LATEX para iniciantes: os primeiros passos

O ambiente de trabalho R

Disciplina de Lógica e Linguagem de Programação Desenvolvido pelo professor Danilo Giacobo Ferramenta Code::Blocks

Produção de tutoriais. Suellem Oliveira

Jclic Alfabeto Sonoro

Capítulo 11. GRÁFICOS COM WGNUPLOT

LOM3260 Computação científica em Python Informações sobre o curso

Vejamos agora as ferramentas mais utilizadas para criação de imagens:

Produção de tutoriais. Suellem Oliveira

Fundamentos do R. Prof. Cícero Quarto cicerocq.com

Dreamweaver CC_15x21.indd 1 06/04/ :04:22

DGPAPP Tutorial. Introdução. Daniel Centeno Einloft Vinicius Meirelles Pereira. 20 May 2014

Produção de tutoriais. Suellem Oliveira

CONCLUSÃO DO CURSO DE BACHARELADO EM ESTATÍSTICA. Alessandro Alves Santana

Apresentação em L A TEX

Aprender a utilizar o aplicativo Gnuplot para fazer gráficos

Minicurso L A TEX + Beamer - Aula 1

1 INTRODUÇÃO AO WRITER

DESVENDANDO O R. Prof. Maurício Garcia de Camargo IO-FURG. Página do curso Rio Grande 10/2016

Prof. Dr. Maurício Zahn Universidade Federal de Pelotas - UFPel Departamento de Matemática e Estatística

Física Experimental: Mecânica. Aula 2. - Gráficos. - Uso de software

Introdução ao. Susana Barbosa. Mestrado em Ciências Geofísicas

Curso de Eng. Acústica Univ. Fed. de Santa Maria Av. Roraima 1000, Camobi Santa Maria, RS, Brasil

DOCUMENTAÇÃO DTIC IMPRESSÃO

Introdução a Programação Web com PHP

Metodologia do Trabalho Científico

Simulador de Aposentadoria

Organizar. Colaborar. Descobrir. GUIA DE MIGRAÇÃO. RefWorks, EndNote X7, Zotero, Papers

Introdução a Sistemas Abertos. Shell Script

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE ELETROTÉCNICA METODOLOGIA APLICADA AO TCC

INSTITUTO DE BIOCIÊNCIAS UNIVERSIDADE DE SÃO PAULO DEPARTAMENTO DE ECOLOGIA INTRODUÇÃO AO FRAGSTATS

Fundamentos de Lógica e Algoritmos. Aula 3.1 Introdução a Programação. Prof. Dr. Bruno Moreno

Shell Script. Rafael Silva Guimarães

TCC 00308: Programação de Computadores I Organização de programas em Python

Como Formatar o DPI de uma imagem no Gimp:

Gerando um programa executável a partir de um módulo Python

Comunicação Científica em Física A estrutura de um artigo científico

Entendendo o LaTeX: Uma Introdução. Universidade Federal do ABC Nathalia Paula

1 Criando um projeto. Instituto Federal do Paraná

Ambientes integrados para análise estatística em SIG interfaces R/C++

OpenStereo: open source, cross-platform software for structural geology analysis

Laboratório 01 NetBeans

Como Criar um Blog WordPress Guia completo

Elementos Externos 3D

Aplicativos da Apple

HRM Software v Como adicionar/atualizar um arquivo de calibração

ANÁLISE EXPLORATÓRIA DE DADOS USANDO O R

Profª. Maria José da Silva Página 1

Delphi. Criando Ajuda Online. Criando Ajuda Online. Criando Ajuda Online. Jocélio Passos Criando Ajuda Online

Guia Doxygen. Emanuel Filipe Galdino Alves

Desenvolvimento Web II

Sistema de Preparação de Documentos Científicos: L A T E X

RECURSOS GRÁFICOS TIAGO M. MAGALHÃES. São Paulo, 10 de janeiro de 2013

Organização de programas em Python. Vanessa Braganholo

Entrada e saída. Marco A L Barbosa malbarbo.pro.br. Departamento de Informática Universidade Estadual de Maringá

Laboratório de Matemática Computacional II

Física Experimental: Mecânica. Aula 2. - Gráficos. - Uso de software

RECURSOS GRÁFICOS TIAGO M. MAGALHÃES. São Paulo, 13 de janeiro de 2014

Fundamentos de Lógica e Algoritmos. Aula 3.1 Introdução a Python. Prof. Dr. Bruno Moreno

S.O.R. A Interface de comando

INTRODUÇÃO AO LATEX NOÇÕES BÁSICAS PARA O DESENVOLVIMENTO DA PROPOSTA DO TRABALHO DE CONCLUSÃO DE CURSO DOS CURSOS DE ENGENHARIA DO DAELT

Artigos científicos, relatórios, teses, slides com Pandoc Markdown

Instalação Serviço de Acompanhamento de Projeto (PCSIS007) Sistema de Gestão da Qualidade

Manual de Compilação/Execução da Aplicação SmartHome

Key words: Stratification, R project, yield forecast. Eng. Eletricista, Embrapa Meio Ambiente, Jaguariúna, SP,

UTILIZANDO O CODE BLOCKS

Configuração do Servidor Gateway Firewall e DHCP

Sistemas Operacionais e Introdução à Programação. Redirecionamentos Editor vi

Influencia de Distribuições a priori na Analise Bayesiana em dados de contagem

Baixe em :

Comunicação Científica em Física Usando LaTeX na redação um artigo científico

MANUAL DE INSTALAÇÃO DO SOFTWARE LABVIEW NI - LABVIEW PSI 3212 LABORATÓRIO DE CIRCUITOS ELÉTRICOS AUTOR : LUCAS DE ANDRADE BOTH

FERRAMENTAS DO WORD PARA ELABORAÇÃO DE TRABALHOS NAS NORMAS

Novidades da Plataforma de suporte remoto 3.0

Algoritmos e Programação

myr Uma Biblioteca C++ para Acesso ao R

ISA. A Interface de comando

Apresentação da ferramenta de programação. Comandos de entrada e saída. Prof. Alex Camargo

Informática Básica Eletrotécnica/Mecânica

No Windows há basicamente dois tipos de programas de usuário:

Tutorial. Editando os arquivos de banco de dados. Autores: Vitor Pires Vencovsky, Rodrigo Viviani

Transcrição:

The PracTEX Journal, 2010, No. 2 Article revision 2011/01/20 Sweave - Interface entre R e LATEX Cassiano Sousa Rosa & Og DeSouza Email Address Abstract cassianosrgmail.com, og.souzaufv.br Av Ph Rolphs s/n, Viçosa Departamento de Biologia Animal Universidade Federal de Viçosa - UFV Viçosa - MG, Brasil, 36570-000 When using R for statistical analyses, it is common to keep the data analyses, the results of experiments, and graphs in separate files. Fortunately, for R users who also use LaTeX, there is a tool for organizing these files: Sweave! This paper presents a very short account on how Sweave integrates R and LaTeX to keep both input and output of statistical analyses in a single style file. 1 Introdução Durante os processos de análises de dados, o problema de otimização de tarefas comumente encontrado por docentes, profissionais de pesquisa e alunos da área de biologia está em organizar e documentar separadamente as análises efetuadas através de linhas de comandos, salvando-as em arquivos com extensão TXT. Os gráficos resultantes destas análises também são salvos a parte. Na busca pela solução para o otimização na geração de processos, Leisch [3] desenvolveu uma ferramenta chamada Sweave capaz de desenvolver relatórios dinâmicos em documentos LATEX - que podem ser atualizados automaticamente - se os dados ou a análise forem alterados através da inserção do código do R para análises de dados [4, 5]. R [7] é uma linguagem e ambiente de programação para análises estatísticas e confecção de gráficos [2] que faz parte do projeto da Free Software Foundation GNU [6] com versões para as plataformas operacionais MS Windows, Mac OS X e Linux. Talvez essa capacidade de expansão do R tenha sido responsável pela rápida popularização entre docentes, profissionais de pesquisa e alunos da área de biologia [8, 6].

Neste artigo, o Sweave é apresentado com ferramenta complementar indispensável na implementação de análises. Apesar das explicações desse artigo terem sido construídas para usuários Linux, a combinação R, (Sweave) e LATEX pode ser utilizada em outras plataformas. Para editoração de textos, a ferramenta Emacs será utilizada pelas facilidades embutidas, tais como atalhos no teclado para executar o R dentro do Emacs com ESS. 2 Implementando o arquivo exemplo.rnw Antes de começarmos, é importante que você crie um arquivo com extensão Rnw (ex. exemplo.rnw ) e coloque em seu preâmbulo o seguinte código: \documentclass[a4paper]{article} \usepackage[brazilian]{babel} \usepackage{amsthm,amsfonts,bm,color,geometry} \usepackage{graphicx} \usepackage[utf8]{inputenc} \geometry{hmargin={2cm,2cm}} \title{como usar o Sweave} \author{cassiano S. Rosa \& Og \begin{document} \maketitle DeSouza} % aqui você vai inserir o seu texto normalmente % como faz no latex: \section{análise 1} A análise 1 consiste de... % Quanto quiser começar a análise no R, % basta colocá-la dentro de um ambiente do Sweave: <<>>= ls() 2

\end{document} 3 Análises no arquivo Rnw Para fazer as análises precisamos informar ao arquivo Rnw qual o comando do R. Para isso, coloca-se os comandos no ambiente: <<>>= # coloque aqui os comandos do R, # por exemplo: ls() Tudo que for colocado dentro deste ambiente que começa com <<>>= e termina com, será lido e analisado no R e posteriormente implementado em outro arquivo para que a análise seja lida pelo LATEX. Fora deste ambiente podem ser colocados quaisquer comandos do LATEX. É necessário que o comando <<>>= seja colocado no início da linha, sem qualquer espaço antes dele. Por exemplo, no excerto de código abaixo, temos: \begin{document} \maketitle \section{análise inicial} Agora faremos a análise para testar a influência da distância da fonte na riqueza de espécies. Neste caso hipotético, podemos imaginar a fonte como sendo um continente e observaremos a riqueza de espécies em ilhas. Então testaremos a hipótese de que quanto mais distante do continente menor seria o número de espécies em uma dada ilha, isto porque estamos considerando que o continente seria a fonte de dispersão de espécies para as ilhas. <<>>= 3

dados <- read.table("vol.csv",h=t) attach(dados) dados m1 <- glm(riqueza~dist_fonte,quasipoisson) anova(m1,test="chi") summary(m1) \end{document} Para que os comandos de R não apareçam no documento final, você pode usar << echo = FALSE >>=. 3.1 Inserindo figuras na análise Qualquer comando de LATEX pode ser utilizado com a figura gerada pela análise. Alguns desses comandos podem ser vistos em [1]. No entanto, é preciso informar ao R para que a figura seja gerada, e também fornecer um nome para salvá-la dentro do diretório onde está sendo feita a análise: \begin{figure} <<fig=true,label=nomedafigura>>= plot(riqueza~dist_fonte,bty= l, ylab= Riqueza de morfo-espécies de aranhas,xlab= Distância da fonte (cm),main= p=0.0202 ) \caption{distância da fonte provoca uma diminuição do número de espécies encontradas e a curva obedece à equação: y = e$^{3.312981-0.006318*x}$} \end{figure} 4 De Rnw para pdf Agora que já possui o arquivo.rnw com todas as análises, o próximo passo é criar o arquivo TEX. Na mesma seção do Emacs, onde está criando Rnw, com 4

o atalho Alt+m+n+s então roda-se toda a análise no R e em seguida cria-se um arquivo TEX. Se preferir, abra o R e digite o comando: > Sweave("nomedoarquivo.Rnw") Com este comando, R executa todos as análises e ainda cria um arquivo TEX contendo todas as linhas de comando da análise e os gráficos (ou figuras) que existam no arquivo inicial. Caso tenha algum comando de gráfico para R, ele faz o gráfico e salva um arquivo em eps e outro em pdf deste gráfico no diretório onde as análises estão sendo feitas. Agora que já temos o arquivo TEX, precisamos gerar o pdf com suas análises. Asism, abra o editor de sua preferência e compile o arquivo. Caso seja usuário de Linux, você executar a seguinte linha de comando no terminal: $ pdflatex nomedoarquivo.tex Pronto! Você tem seu arquivo PDF com todos os comandos utilizados em sua análise, seus comentários, gráficos, figuras, tabelas e o que achar necessário. 5 Uso avançado do Sweave 5.1 Incluindo resultados dentro do texto Com o Sweave, é possível produzir os resultados da análise em parágrafos separados do texto TEX. Se você precisar incluir algum resultado dentro do seu texto, utilize o comando: \Sexpr{...} substituindo o... por qualquer comando do R. Por exemplo: A raiz quadrada de x é \Sexpr{sqrt(x)}. Supondo que o valor de x seja 4, no arquivo final você terá: A raiz quadrada de x é 2. 5

5.2 Alterando opções dos gráficos O padrão dos gráficos produzidos pelo Sweave tem 6 6 polegadas. Você pode mudar isso se: <<fig=true,width=6,height=4>>= Alternativamente, é possível mudar o tamanho de todos os gráficos de uma só vez. Para isso, insira a seguinte linha de comando no preâmbulo: \SweaveOpts{width=6,height=4} Você também pode passar todos os comandos de formatação de gráficos de R ao Sweave, e definir as características da figura: <<>>= options(sweavehooks = list(fig = function() par(mar=c(5,4,1.1,2.1)))) Também, as margens externas onde os gráficos estão inseridos são redefinidas (Fig 1). Adicionalmente, podemos passar este padrão para todos os gráficos se incluirmos no preâmbulo: \SweaveHooks=list(fig=functions()par(mar=c(5,4,1.1,2.1))) 6 Conclusão A utilização do Sweave traz grandes vantagens ao usuário, tais como (i) a possibilidade de comentar as análises no momento que que são feitas, (ii) melhor diagramação dos dados e (iii) possibilidade de incluir os valores dos cálculos no texto automaticamente. Neste artigo, demonstrou-se algumas particularidades do Sweave dentre as inúmeras características e comandos que podem ser acessados nos artigos do Leisch [3, 4, 5] e materiais suplementares. 6

Margem externa 3 Margem externa 2 Área do plot Margem externa 4 Área da figura Margem externa 1 Figure 1: Regiões de um plot tradicional. Todos estes campos (margens externas, região da figura e região do plot) podem ser alterados. Neste exemplo não alteramos as margens externas para 5, 4, 1.1 e 2.1 linhas (que é a unidade de medida). 7 Agradecimentos Agradecemos toda a comunidade Linux e open-source software, em especial àqueles envolvidos no desenvolvimento do LaTeX, R, e Sweave. Esta é a contribuição nr. 45 do Laboratório de Termitologia da Universidade Federal de Viçosa (http://www.isoptera.ufv.br) 8 Acknowledgements We thank all Linux and open source community, specially those involved in La- TeX, R and Sweave development. This is contribution no. 45 from the Lab of Termitology at Federal University of Viçosa, Brazil (http://www.isoptera.ufv.br). 7

References [1] C. Beccari. Graphics in LATEX. The PracTEX Journal, 1:1 19, 2007. [2] M. J. Crawley. The R Book. John Wiley & Sons Ltd, 2007. [3] F. Leisch. Sweave: Dynamic Generation of Statistical Reports Using Literate Data Analysis. In W. Härdle and B. Rönz, editors, Compstat 2002 Proceedings in Computational Statistics, pages 575 580. Physica Verlag, Heidelberg, 2002. ISBN 3-7908-1517-9. [4] F. Leisch. Sweave, Part I: Mixing R and Latex. R News, 2/3:28 31, 2002. [5] F. Leisch. Sweave, Part II: Package Vignettes. R News, 3/2:21 24, 2003. [6] M. Logan. Biostatistical Design and Analysis Using R: A Practical Guide. Wiley-Blackwell, Chennai, India, 2010. [7] R Development Core Team. R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria, 2008. ISBN 3-900051-07-0. [8] M. H. H. Stevens. A Primer of Ecology with R. Springer, New York, NY, 2009. 8