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.LengthSepal.WidthPetal.LengthPetal.WidthSpecies
5.13.51.40.2setosa
4.93.01.40.2setosa
4.73.21.30.2setosa
4.63.11.50.2setosa
5.03.61.40.2setosa
5.43.91.70.4setosa

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

iris %>% 
  head() %>% 
  kableExtra::kable()
Sepal.LengthSepal.WidthPetal.LengthPetal.WidthSpecies
5.13.51.40.2setosa
4.93.01.40.2setosa
4.73.21.30.2setosa
4.63.11.50.2setosa
5.03.61.40.2setosa
5.43.91.70.4setosa

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