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:
- 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 dochunk
ou não no documento compilado.warning
,message
eerror
: tipo logical. Casoerror = TRUE
, o documento será compilado mesmo que o chunk retorne um erro.include
: tipo logical. Controla se ochunk
e o output estarão presentes no documento final.cache
: tipo logical. Controla se ochunk
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