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
ou
Seções e subseções
Para demarcar seções e subseções, utilize os hashtags.
Listas e ordenação
Basta enumerar:
- Item 1
- 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)
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 dochunk.echo: tipo logical. Incluir o código dochunkou não no documento compilado.warning,messageeerror: tipo logical. Casoerror = TRUE, o documento será compilado mesmo que o chunk retorne um erro.include: tipo logical. Controla se ochunke o output estarão presentes no documento final.cache: tipo logical. Controla se ochunkpoderá 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