Capítulo 6 RMarkdown

Assista este conteúdo em Cap 5 - RMarkdown no PVANet

O conteúdo apresentado aqui não será apresentado corretamente no material online. Para saber o real output veja o arquivo gerado R-Markdown—Kit-de-Sobrevivência.pdf.

`—
title: “R Markdown - Kit de Sobrevivência”

author: “Jackson Rodrigues”

date: “30 março, 2023”

output:

pdf_document:

toc: true

toc_depth: 3

number_sections: true

line-height: 1.5em

fontsize: 12pt

link-citations: yes

font-family: times new roman

biblio-style: apalike

subtitle: O mínimo que você precisa saber para gerar um .pdf

bibliography: book.bib
—`

O RMarkdown é uma excelente ferramenta para comunicação e compartilhamento de informações.
Nele podemos combinar textos, códigos, resultados (gráficos e tabelas) que permitirão outro usuário repetir passo a passo tudo que foi desenvolvido por você. Isso facilita muito, pois você não precisa enviar scripts cheios de comentários mais os dados utilizados. Você pode selvar os dados numa nuvem e deixar o link para leitura no seu arquivo.

Os arquivos de saída do RMarkdown são diversos. Podemos ter saída em .pdf, .ppt, .doc., .html e etc. Podemos também contruir sites, blogs e escrever nossos artigos, teses e dissertações utilizando o RMarkdown.

A estrutura inicial é bastante simples, mas vai complicando à medida que avançamos no conteúdo.
Da mesma maneira que a produção gráfica é veloz e com uma infinidade de recursos, temos no RMarkdown o mesmo comportamento. Por isso, não se preocupe em decorar os comandos, aos poucos eles serão assimilados por você. O importante é saber o que você quer fazer e utilizar os recursos de ajuda com eficiência.

Por isso vamos ver o básico de sobrevivência no RMarkdown, mas se quiser se aprofundar no conteúdo você pode ler Allaire et al. (2020), Xie, Allaire, and Grolemund (2021), Xie, Dervieux, and Riederer (2020), Xie (2015) ou H. Wickham and Grolemund (2019).

install.packages("rmarkdown")
library(rmarkdown)

Vá em new file e escolha R Markdown....
Abrirá um pop up em sua tela onde você já pode definir algumas coisas como título, autor e formato a ser exportado. Para facilitar, deixe do jeito que está e dê OK.

A nova aba aberta já é um template RMarkdown pronto para ser executado. Nele já temos as estruturas básicas que compõem o básico para produção de um arquivo como YAML, textos, chunks e alguns definidores de títulos.

Com estes elementos já podemos gerar relatórios. Basta clicar em Knit que o arquivo ( YAML, chunks, equações, textos, códigos e etc) será processado no knitr gerando um arquivo .md que será processao pelo pandoc que vai fazer a conversão para, no nosso caso, um html.

rmarkdown flow PC

6.1 Fontes

# Título

## Subtítulo (2x menor)      

### Subsubtítulo (3x menor)    

#### Subsubsubsubsubtítulo (4x menor)    

##### Subsubsubsubsubtítulo (5x menor)    

###### Subsubsubsubsubsubtítulo (6x menor)    

6.2 Formatação de texto

~~Tachado~~: Tachado
*Itálico* ou _Itálico_: Itálico
**Negrito** ou __Negrito__: Negrito

“A vingança nuca é plena, mata a alma e envenena.”
Madruga, Seu

“O trabalho não é ruim. Ruim é ter de trabalhar!” Madruga, Seu

\tiny Texto 1 –> Texto 1
\scriptsize Texto 2 –> Texto 2
\footnotesize Texto 3 –> Texto 3
\small Texto 4 –> Texto 4
\normalsize Texto 5 –> Texto 5
\large Texto 6 –> Texto 6
\Large Texto 7 –> Texto 7
\LARGE Texto 8 –> Texto 8
\huge Texto 9 –> Texto 9
\Huge Texto 10 –> Texto 10

6.3 Variando Cores

\textcolor{red}{vermelho} –>
\textcolor{blue}{azul} –>
\textcolor{green}{verde} –>

6.4 Inline

Utilize cráse antes e depois da palavra que deseja que se pareça com código \(`head`\).
Para você obter os primeiros dados de um vetor usar a função head().

6.5 Fórmulas Matemáticas

Para incluírmos as fórmulas matemáticas no documento, usar $$ LaTeX $$ (bloco) ou $ LaTeX $ (na linha)

6.5.1 Soma

$$a+b$$\(a+b\)

6.5.2 Subtração

$a-b$\(a-b\)

6.5.3 Multiplição

$$a \times b$$\[a \times b\]

6.5.4 Divisão

$$a/b$$\[a/b\]

ou

$\frac{a}{b}$\(\frac{a}{b}\)

6.5.5 Potenciação

$a^b$\(a^b\)

6.5.6 Raiz Quadrada

$$\sqrt{a}$$\[\sqrt{a}\]

6.5.7 Raiz Quadrada de fração

$\sqrt{\frac{a}{b}}$\(\sqrt{\frac{a}{b}}\)

6.5.8 Subscrito

$x_{a_b}$\(x_{a_b}\)

6.5.9 Sobrescrito

$x^{y^z}$\(x^{y^z}\)

6.5.10 Conjunto

$\mathbb{N} = \{1, 2,\ldots\}$\(\mathbb{N} = \{1, 2,\ldots\}\)

6.6 Matriz

6.6.1 Matriz 1 x 4

$$
\begin{matrix}
0.8944272 & 0.4472136
-0.4472136 & -0.8944272
\end{matrix}
$$

\[ \begin{matrix} 0.8944272 & 0.4472136 -0.4472136 & -0.8944272 \end{matrix} \]

6.6.2 Matriz 2 x 2

$$
\begin{matrix}
0.8944272 & 0.4472136\\
-0.4472136 & -0.8944272
\end{matrix}
$$

\[ \begin{matrix} 0.8944272 & 0.4472136\\ -0.4472136 & -0.8944272 \end{matrix} \]

6.6.3 Matriz 2 x 2 entre parênteses

$$
\begin{pmatrix}
0.8944272 & 0.4472136\\
-0.4472136 & -0.8944272
\end{pmatrix}
$$

\[ \begin{pmatrix} 0.8944272 & 0.4472136\\ -0.4472136 & -0.8944272 \end{pmatrix} \]

Experimente também vbmatrix, Bmatrix, vmatrix, Vmatrix.

Veja mais em matrizes.

$$
\left(\begin{array}{cc}
0.8944272 & 0.4472136\\
-0.4472136 & -0.8944272
\end{array}\right)
\left(\begin{array}{cc}
10 & 0\\
0 & 5
\end{array}\right)
$$

\[ \left(\begin{array}{cc} 0.8944272 & 0.4472136\\ -0.4472136 & -0.8944272 \end{array}\right) \left(\begin{array}{cc} 10 & 0\\ 0 & 5 \end{array}\right) \]

6.7 Tabelas

| delimitam as colunas
- delimitam os títulos
: Define o alinhamento que por padrão é a esquerda

ìtem Produto Valor
1 Arroz R$ 31,00
2 Feijão R$ 9,00
3 Kinder Ovo R$ 2.500,00

6.8 Listas

6.8.1 Lista ordenada

  1. Arroz
  2. Feijão
  3. Batata

6.8.2 Lista não ordenada

  • Lichia
  • Pistache
  • Pitaya

6.8.3 Sublista

  1. Refrigerante preto
  2. Batata frita
  3. Podrão
    • 2 Hambúrgueres
    • Alface
    • Queijo
    • Molho especial
    • Cebola
    • Picles
    • Pão com Gergelim

6.10 Comandos R

Sempre que precisar adicionar códigos a serem executados dentro do seu Rmarkdown você deve obedecer algumas regras.

Seu código deve ficar dentro de um chunk.
Veja que iniciamos è finalizamos com aspas simples triplas (```) seguindo de r dentro de chaves { }. Após o r podemos ainda adicionar argumentos como o nome do chunk e outros comandos. É altamente recomendado que nomeie os chunks com nomes intuitivos para o que está sendo executado. Isso failita muito a navegação e execução.

```{r}
Comandos a serem executados
```

````

library(magrittr)
Notas <- read.table("J:/ENG 792/ENG_792-AVDR/Cap_5_Notas_ENG792.txt", header = T, 
                    sep=",", dec=".",skip=3, encoding = "UTF-8")

Notas %>% 
  knitr::kable()
Nome Nota.1 Nota.2 Nota.3 Nota.4
A 10.9 60.9 53.6 12.0
B 71.3 9.9 13.9 47.0
C 65.9 0.3 28.9 55.0
D 3.6 70.0 37.9 75.3
E 70.9 81.9 43.9 8.6
F 76.9 53.0 29.9 38.6
G 73.6 2.3 23.0 37.3
H 2.0 88.0 10.3 28.3
I 25.3 11.9 12.3 26.3
J 7.0 19.3 82.9 46.3
K 52.0 41.0 70.3 31.6
L 27.3 74.0 47.6 18.9
M 87.9 75.9 17.9 80.6
N 76.0 47.9 2.0 19.6
O 55.0 60.6 51.9 24.0
P 76.6 47.9 90.3 55.6
Q 10.3 55.9 18.0 86.3
R 17.0 0.9 43.3 14.6
S 38.6 22.6 23.6 6.6
T 69.0 31.9 75.3 90.6
U 26.9 3.6 65.3 48.6
X 56.6 32.0 74.6 28.0
Y 22.3 42.3 88.9 65.0
Z 36.6 44.3 17.9 23.9

Dê uma olhada em R Markdown Cheat Sheet

library(ggplot2)
library(ggpubr)
bar <- ggplot(data = diamonds) + 
  geom_bar(
    mapping = aes(x = cut, fill = cut), 
    show.legend = FALSE,
    width = 1
  ) + 
  theme(aspect.ratio = 1) +
  labs(x = NULL, y = NULL)

ggarrange(bar + coord_flip(),
          bar + coord_polar())

A média de count é 9.5.

6.12 Bibliografia

References

Allaire, JJ, Yihui Xie, Jonathan McPherson, Javier Luraschi, Kevin Ushey, Aron Atkins, Hadley Wickham, Joe Cheng, Winston Chang, and Richard Iannone. 2020. Rmarkdown: Dynamic Documents for r. https://github.com/rstudio/rmarkdown.
Wickham, H., and G. Grolemund. 2019. R Para Data Science: Importe, Arrume, Transforme, Visualize e Modele Dados. First. Alta Books.
Xie, Yihui. 2015. Dynamic Documents with r and Knitr. 2nd ed. Chapman & Hall/CRC the r Series. Chapman; Hall/CRC. http://gen.lib.rus.ec/book/index.php?md5=dac125f250d388d76db3c95844923767.
Xie, Yihui, J. J. Allaire, and Garrett Grolemund. 2021. R Markdown: The Definitive Guide. Boca Raton, Florida: Chapman; Hall/CRC. https://bookdown.org/yihui/rmarkdown.
Xie, Yihui, Christophe Dervieux, and Emily Riederer. 2020. R Markdown Cookbook. Boca Raton, Florida: Chapman; Hall/CRC. https://bookdown.org/yihui/rmarkdown-cookbook.