Introdução ao RMarkdown

Assita o vídeo! É impactante, baseado em fatos reais!

TL;DR

RMarkdown é uma estrutura de documento para edição de textos que segue a sintaxe da linguagem Markdown. Sínteses e informações sobre essa linguagem RMarkdown podem ser encontradas nas seguintes cheatsheet que podem ser obtidas por meio do link

O que é Markdown?

Segundo o criador da linguagem:

Markdown is a text-to-HTML conversion tool for web writers. Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML).

John Gruber

Dicas de sintaxe da linguagem Markdown podem ser encontradas em:

RMarkdown

Vou colocar aqui algumas informações-chave sobre a construção geral de informações a partir do uso do RMarkdown. Entretanto, informações adicionais podem ser obtidas de maneira detalhada no site:

Formatação de texto

  • Textos em itálico são produzidos com um par de asteriscos *Itálico* ou de underscores _Itálico_
  • Textos em negrito são produzidos com dois pares de asteriscos: **Negrito**
  • Um par de acentos til produz texto subscrito: CO~2~ vira CO2
  • Um par de acentos circunflexos produz texto sobrescrito: x^2^ vira x2
  • Hyperlinks são criados com a sintaxe [texto](link): Clique [aqui](https://www.google.com/) vira Clique aqui
  • Imagens são inseridas com a sintaxe ![texto opcional](pasta/imagem.jpg) ou ![texto opcional](link para imagem)

Seções e subseções

Para demarcar seções e subseções, utilize os hashtags.

Listas e ordenação

Basta enumerar:

  1. Item 1
  2. Item 2

Incluindo tabelas

Existem duas boas opções para produzir tabelas elegantes em documentos R Markdown:

A função knitr::kable()

iris %>% 
  head() %>% 
  knitr::kable()
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
5.0 3.6 1.4 0.2 setosa
5.4 3.9 1.7 0.4 setosa

A função knitr::kable() acompanhada do pacote kableExtra

iris %>% 
  head() %>% 
  kableExtra::kable()
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
5.0 3.6 1.4 0.2 setosa
5.4 3.9 1.7 0.4 setosa

E tabelas interativas por meio do pacote DT:

iris %>% 
  head() %>% 
  DT::datatable()

Informações sobre a configuração dos packages considerados porm ser encontrados nos links: kableExtra, `

Incluindo figuras

Eu prefiro incluir figuras por meio de chunk, pois a parametrização do chunk permite configurar a figura:

knitr::include_graphics(img1_path)

Dicas!

chunks

chunks são blocos de código que podem ser incluídos e rodados em um documento .Rmd. Os chunks precisam de uma formatação específicica e podem ser escritos em diferentes linguagens. A forma mais rápida de incluir um chunk para edição em R é o atalho Ctrl + Alt + i.

O chunk deve ser iniciado por ```{r } e alguns parâmetros definem opções para os chunks.

  • eval: tipo logical. Executar (TRUE) ou não (FALSE) o código do chunk.

  • echo: tipo logical. Incluir o código do chunk ou não no documento compilado.

  • warning, message e error: tipo logical. Caso error = TRUE, o documento será compilado mesmo que o chunk retorne um erro.

  • include: tipo logical. Controla se o chunk e o output estarão presentes no documento final.

  • cache: tipo logical. Controla se o chunk poderá usar cache para criar uma pasta com arquivos cacheados. Útil para chunks de códigos que levam muito tempo para rodar.

x <- rnorm(30)
x
##  [1]  0.5162300 -0.9708385  1.0235770 -0.6915387 -1.0844002 -2.3260716
##  [7] -1.2964939 -0.5799969 -0.6267196 -1.8150133  0.3675131 -0.5721890
## [13] -0.2655877 -0.9298799 -0.8974441 -0.7339284  0.7127292 -1.3384530
## [19]  0.3969737  1.1318720  0.4960721  0.5678342  1.2569189  1.2371460
## [25] -0.8775620  0.9499297  1.0608437  0.3446300 -0.4034319  0.2331705

Para definir uma opção da mesma maneira para todos os chunks do documento, é possível criar um chunk com o código knitr::opts_chunk$set(), como no exemplo abaixo:

As opções gerais de chunks podem ser encontradas no link.

Visualização

plot(x)

Também podemos fazer um histograma dessa variável simulada

hist(x)

Metadados - Cabeçalho

YAML (Yet Another Markup Language)

No YAML, os dados são escritos em forma de lista aninhada. Os metadados em YAML são colocados sempre no início de um documento, e são delimitados por ---.

Formatos de output

  • Compilar um documento em RMarkdown knitr

Na galeria do RStudio diferentes estruturas de informação produzida por meio de RMarkdown podem ser encontradas!

  • beamer_presentation

  • html_document

  • ioslides_presentation

  • pdf_document

  • slidy_document

  • powerpoint_presentation

  • word_document

output:
  html_document:
    toc: true
    number_sections: yes
  pdf_document:
    keep_tex: true
Previous
Next