Como criar apresentações com Reveal.js e R Markdown no RStudio?

Aprenda a criar slides utilizando o framework Reveal.js e a linguagem de programação R e Markdown. Veja como dar seus primeiros passos nesta ferramenta.

Grande parte das nossas carreiras acadêmicas e profissionais envolve apresentações. E quando falamos em apresentações, lembramos do velho amigo PowerPoint.

Porém, o que poucos sabem é que há alternativas mais atrativas, tais como LaTeX, R Presentation e Reveal.js. Nesta postagem, estaremos falando do Reveal.js, o qual é um framework (base de bibliotecas e códigos que auxiliam no desenvolvimento de algo) para o desenvolvimento de apresentações em HTML (linguagem de programação para desenvolvimento de sites).

Calma, você não precisará aprender a usar HTML (embora ajude), você só precisará aplicar seus conhecimentos de R e Markdown para criar ótimas apresentações.

Você pode consultar as possibilidades do Reveal.js visitando o site deste framework, www.revealjs.com.

Agora que temos uma breve introdução, vamos abrir o RStudio e iniciar nossa apresentação.

Instalando o Reveal.js no RStudio

Para conseguir abrir um modelo do Reveal.js no RStudio, primeiro é necessário instalar o pacote “revealjs” e para realizar isso, basta digitar o código abaixo no terminal do R dentro do RStudio.

install.packages("revealjs") # Instala o pacote
library(revealjs) # Abre e executa o pacote.

Assim que a instalação e abertura do pacote for finalizada, poderemos criar uma apresentação.

Criando apresentações no RStudio

Há dois caminhos para criar um documento R Markdown no RStudio, um deles é clicando em File > New File > R Markdown… ou seguindo o caminho apresentado na figura abaixo.

Criando um novo arquivo R Markdown no RStudio.
Criando um novo arquivo R Markdown no RStudio.

Após executar o comando acima, o RStudio irá abrir uma nova janela solicitando o tipo de documento R Markdown você quer criar. Vá até o item “From Template” e selecione “Reveal.js Presentation (HTML)”.

Selecionando apresentação do tipo Reveal.js no RStudio.
Selecionando apresentação do tipo Reveal.js no RStudio.

Após realizar esse procedimento, o RStudio irá abrir uma nova aba contendo a base do nosso código R Markdown e Reveal.js.

Modelo inicial de R Markdown para Reveal.js.
Modelo inicial de R Markdown para Reveal.js.

Agora, vamos aos comandos básicos.

Principais partes e comandos do Reveal.js

No topo do nosso modelo aberto, temos o cabeçalho YAML (o qual esta separados por três hifens). Nele são indicados os parâmetros referentes ao nosso documento, tais como título, autor, data e formato de saída.

No código abaixo, apresentamos nosso cabeçalho modificado, incluindo a alteração do tema (theme) da nossa apresentação.

---
title: "Química do Solo"
author: "Fernando B. de Souza"
date: 16/08/2019
output: 
  revealjs::revealjs_presentation:
    theme: moon
---

Outros temas também são possíveis, tais como: “default”, “simple”, “sky”, “beige”, “serif”, “solarized”, “blood”, “night”, “black”, “league” e “white”.

Caso você queira que todos os seus slides fiquem centralizados, adicione, na linha abaixo de “theme” e com a mesma indentação, o seguinte código “center: true”.

Agora que temos nosso cabeçalho configurado, vamos olhar o restante do nosso código.

Note que logo após o cabeçalho, temos uma linha contendo dois #. Essa é a forma do Reveal.js e R Markdown entender que este é um novo slide horizontal. Tudo o que vier abaixo dele será acrescentado ao seu slide.

Além disso, tópicos podem ser criados bastante apenas iniciar a linha com um hífen.

O interessante do Reveal.js é a possibilidade de inserir slides verticais. Eles podem ser adicionados inserindo apenas um #, devendo, em seguida ter um slides horizontal (##).

Porém, não é possível inserir textos no primeiro slide vertical, devendo o texto ser adicionado no slide seguinte. Confira o exemplo no código abaixo.

---
title: "Química do Solo"
author: "Fernando B. de Souza"
date: 16/08/2019
output: 
  revealjs::revealjs_presentation:
    theme: moon
---

# Matéria Orgânica do Solo (MOS)

Observação: Qualquer texto escrito aqui não irá aparecer na apresentação.

## Melo e Alleoni (2009)

Matéria Orgânica do Solo (MOS): Material de origem biológica, vivo ou morto
que se encontra no solo, que passa na peneira com malha de 2 mm.

## Osman (2013)

A MOS é classificada em três fases:

- MO em estágios iniciais de decomposição (MOS ativa) (1-10%);
- MO parcialmente decomposta (MOS ativa) (10-40%);
- MO em fase avançada de decomposição (húmus) (MOS passiva) (40-60%).

# Húmus

## Definição

Matéria orgânica coloidal amorfa de coloração preta ou marrom que passou pelo processo de decomposição por tanto tempo, que futuros processos de decomposição são muito lentos (OSMAN, 2013).

Para ver o resultado da sua apresentação, você pode clicar em “Knit” no RStudio e ele irá gerar a sua apresentação em uma nova janela.

Sempre que você for criar ou verificar como esta ficando sua apresentação, clique no botão “Knit”.

Na apresentação, você poderá navegar pelos slides (horizontais e verticais) ou visualizar toda a estrutura deles pressionando Esc.

Exemplo da estrutura de slides criada com o Reveal.js.
Exemplo da estrutura de slides criada com o Reveal.js.

Outros códigos que são importantes no Markdown são os seguintes:

  • *asteriscos* e _travessões_ únicos são usados para deixar as palavras em itálico;
  • dois **asteriscos** e dois __travessões__ são utilizados para deixar a palavra em negrito;
  • Tabelas são criadas com barras “|”, sendo o cabeçalho separado por, pelo menos, três hifens.
  • Imagens são adicionados entre parenteses, sendo indicado seu caminho ou URL.

Você pode consultar outras formatações do Markdown visitando a página “Markdown Cheatsheet“. Além disso, uma parte dos códigos mencionados acima é apresentado abaixo como continuação do nosso código anterior.

# Perfil de Solo

## ![Perfil de Solo](https://upload.wikimedia.org/wikipedia/commons/4/46/Stagnogley.JPG)

## ![Logo Blog 2 Engenheiros](C:/Users/ferna/Desktop/blogPost/logo_blog_leagueSpartan.png)

## Composição da MOS

**Elemento** | _Porcentagem (%)_
--- | ---
Carbono  | 52 - 58
Oxigênio | 34 - 35
Nitrogênio | 3,3
Hidrogênio | 7
Enxofre | < 2
Fósforo | < 2

Uma das vantagens do uso do R Markdown é a possibilidade de inserir “pedaços de código” (code chunks) de R e executá-los no momento da apresentação.

Como inserir códigos de R no Markdown?

Os pedaços de código no Markdown devem iniciar com três crases (`) , seguido de chaves ({}) contendo a linguagem de programação a ser usada e o nome daquele bloco. Após tudo isso, o bloco deve finalizado com três crases.

# Pedaço de Código de R

## Ranking Leiden das Universidades

Qual pais tem mais universidades no [Ranking Leiden](https://www.leidenranking.com)?

```{r Universidade_X_Pais1, include=FALSE}

library(dplyr)
library(ggplot2)

setwd("C:/Users/ferna/Desktop/blogPost/")

LRanking <- read.csv("leidenRanking.csv", sep = ";", header = TRUE)

contagem <- LRanking %>% count(Country) %>% arrange(desc(n))
contagem$Country <- as.character(contagem$Country)
contagem$Country <- factor(contagem$Country, levels=unique(contagem$Country))
contagem10 <- contagem[1:10,]

```

```{r Universidade_X_Pais2, echo=FALSE, fig.height=6, fig.width=10}

ggplot(contagem10, aes(x = reorder(Country, desc(Country)), n)) + geom_bar(stat = "identity") +
  geom_text(aes(label=n), hjust=-0.15, vjust=0.25, color="black", size=3.25, fontface = "bold") + coord_flip() + labs(x = "Pais", y = "Número de Universidades")

```

Note que criarmos slides verticais e horizontais novos para agrupar nosso gráfico.

Também podemos configurar as opções de saída do nosso código. Por exemplo, podemos definir para não mostrar o código que digitamos com “echo = false” ou podemos configurar o tamanho da figura com “fig.width” ou “fig.height”.

Aqui neste caso, separamos o pedaço de código com a parte referente ao processamento (Universidade_X_Pais1) da parte que irá mostrar o gráfico (Universidade_X_Pais2).

Utilize slides verticais somente quando necessário, pois ao criá-los, não é possível adicionar conteúdo neles pelo RStudio. Só é possível realizar esse procedimento editando o HTML final.

Vincent Bauer (Stanford University).

Caso você queira somente criar uma apresentação sem utilizar dados do R, é possível baixar do GitHub do reveal.js uma base de HTML para criar sua apresentação, porém, nesse caso, você irá editá-la no bloco de notas e precisará conhecer linguagem HTML.

Exemplo de apresentação criada no Reveal.js

Agora você já sabe criar apresentações diferenciadas e poderá melhorar seus trabalhos. Compartilhe para que outros também possam utilizar esse conhecimento.

Fontes Consultadas.

Yihui Xie, J. J. Allaire, Garrett Grolemund. R Markdown: The Definitive Guide. Disponível em <https://bookdown.org/yihui/rmarkdown/revealjs.html>. Acesso em 16 ago. 2019.

Markdown Cheatsheet. Disponível em <https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet>. Acesso em 17 ago. 2019.

Knitr with R Markdown. Disponível em <https://kbroman.org/knitr_knutshell/pages/Rmarkdown.html>. Acesso em 17 ago. 2019.


Clique na figura abaixo e assine nossa lista de emails para receber nosso ebook "Como criar mapas de localização com ArcGIS 10.x".


Author: Fernando BS

Engenheiro Ambiental e de Segurança do Trabalho. Atua nas áreas de recuperação ambiental, geoprocessamento e ciência do solo. Busca soluções utilizando softwares como ArcGIS, R e MATLAB.

One thought on “Como criar apresentações com Reveal.js e R Markdown no RStudio?”

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *