Relatórios e apresentações automáticas

Sobre RMarkdown e Quarto

Introdução ao RMarkdown e ao Quarto

O que é RMarkdown?

  • O R Markdown é um pacote para criação de relatórios automatizados utilizando as linguagens de programação R e de marcação Markdown.

Linguagens de marcação utilizam marcadores (símbolos, tags, funções) para formatar um arquivo de texto simples. Os exemplos mais famosos de linguagem de marcação são o HTML e LaTeX.

  • A linguagem de marcação Markdown serve para construirmos e formatarmos diversos formatos de arquivos (PDF, HTML, Word, entre outros) a partir de um arquivo de texto com regras bem simples.

  • O RMarkdown é uma extensão de Markdown que nos permite colocar código de R.

Algumas aplicações

Algumas aplicações

Nova geração: Quarto

O RMarkdown não deixará de existir, mas hoje temos uma alternativa mais poderosa, chamada Quarto.

Para pessoas que usam R, a vantagem do Quarto é apenas ter algumas facilidades a mais (como autocomplete de parâmetros no RStudio) e novos templates.

No entanto, por ser um software independente de R, o Quarto exporta todas as qualidades do RMarkdown para outras linguagens, especialmente Python, Julia e JavaScript.

Na aula de hoje, mostraremos exemplos em RMarkdown e Quarto. A partir da segunda aula, utilizaremos apenas Quarto.

Estrutura

Todo arquivo RMarkdown/Quarto terá a seguinte estrutura:

  • Um preâmbulo com configurações
---
title: "Relatório maravilhoso"
output: html_document
---
  • Blocos de texto (marcados em Markdown)
Texto em __RMarkdown/Quarto__!
  • Blocos de código (em R ou outra linguagem)
```{r}
print("ola, codigo R")
```

Dependendo do formato de saída, o documento pode precisar ser dividido em vários arquivos ou precisar de arquivos adicionais.

Sintaxe Markdown

Utilizamos Markdown para marcar os textos do relatório.

Principais marcadores utilizados para formatar texto:

  • uma palavra entre asteriscos fica em itálico: *texto* é transformado em texto

  • uma palavra entre dois asteríscos fica em negrito: **texto** é transformado em texto

  • um ou mais hashtags viram títulos: # Título muito grande, ## Título grande, ### Título médio, #### Título pequeno, ##### Título muito pequeno

  • hiperlinks podem ser criados com a estrutura [texto](link):

  • [link para o site da Curso-R](https://curso-r.com) é transformado em link para o site da Curso-R.

  • para deixar o texto com esse formato (formato de código), apenas coloque o texto entre duas crases.

Material de consulta: Livro: Ciência de Dados em R - Seção sobre Markdown

Visual Editor

  • As versões mais recentes do RStudio permitem usar o Visual Editor.

Leitura indicada:

Fonte: Posit

Chunks - Campos de código

  • Em um arquivo .qmd ou .Rmd, precisamos escrever nossos códigos dentro dos chunks. Para inserir um chunk, utilize o atalho CTRL + ALT + I.

  • É possível adicionar campos de código utilizando a seguinte sintaxe:

```{r}
codigo em R aqui
```
  • Dentro dos chunks você poderá escrever códigos em R como se fosse o nosso script .R tradicional.

Material de consulta: Livro: Ciência de Dados em R - Seção sobre R Markdown

YAML

  • Os arquivos .qmd ou .Rmd começam com códigos em yaml/yml.

  • Esse “bloco” de código é delimitado por ---.

  • Apresenta metadados e parâmetros utilizados para gerar o documento final.

---
title: "Relatórios automáticos"
subtitle: "O poder do RMarkdown"
author: "Curso-R"
date: "Março de 2021"
output: xaringan::moon_reader
---

Render!

  • Para gerarmos o relatório na extensão desejada, precisamos renderizá-lo, isto é, transformar o arquivo .qmd ou .Rmd em um PDF, HTML ou Word.

  • Isso pode ser feito no RStudio a partir dos botões Knit (.Rmd) ou Render (.qmd), que fica logo acima do script, ou pelo atalho CTRL + SHIFT + K.

O que acabamos de fazer

Fontr: Blog do Yihui Xie

Fonte: quarto.org

Principais saídas

Ilustração por Allison Horst

Relatórios (.Rmd)

HTML

output: html_document

Word (.docx)

output: word_document

Relatórios (.qmd)

HTML

format: html

Word (.docx)

format: docx

Relatórios (.Rmd)

PDF (com \(\TeX\))

output: pdf_document

Caso não tenha o \(\TeX\):

tinytex::install_tinytex()

Relatórios (.qmd)

PDF (com \(\TeX\))

format: pdf

Caso não tenha o \(\TeX\):

tinytex::install_tinytex()

Relatórios

PDF com o pacote Pagedown

output: html_document
knit: pagedown::chrome_print

Ou utilize a função pagedown::chrome_print() em um relatório em HTML:

pagedown::chrome_print("relatorio.html")

Obs: Por enquanto não existe uma alternativa Quarto a isso.

Apresentações (.Rmd)

  • Powerpoint
output: powerpoint_presentation
  • HTML
output: xaringan::moon_reader

Apresentações (.qmd)

  • Powerpoint
format: pptx
  • HTML
format: revealjs

Resumo

  • Podemos escrever arquivos com código, resultados, textos, imagens, etc.

  • O mesmo conteúdo pode ser disponibilizado em diferentes tipos de saída.

  • Nos metadados (yaml) do arquivo .Rmd ou .qmd, definimos a saída no parâmetro output.

  • Mais saídas e comparação completa: