C.1 Como usar o R Markdown

A ideia básica é que o texto seja intercalado com blocos ou trechos de código que são identificados de uma forma particular. A estrutura básica de um chunk é:

Por exemplo, para mostrar a expressão usada para instalar os pacotes rmarkdown e gcookbook, digitamos o seguinte trecho no corpo do texto do arquivo .Rmd criado no RStudio.

```{r}
install.packages(c('rmarkdown', 'gcookbook'))
```                                              

O texto acima aparecerá da seguinte forma no documento html:

install.packages(c('rmarkdown', 'gcookbook'))

Os trechos de código (chuncks) são avaliados pelo R na ordem em que eles aparecem. Os objetos criados criados em um chunck permanecem disponíveis no ambiente para uso em chuncks posteriores. O código no chunck é destacado de forma diferente do texto. Os resultados (tabelas, gráficos e outros objetos) gerados pelo código de um chunck também são incorporados no documento.

Nesse documento mostramos os principais elementos do Markdown e como construir os chunks.

C.1.1 Opções do chunk

Cada chunk possui parâmetros que permitem definir opções de execução para aquele chunck. Para o chunck de exemplo abaixo, as principais são as seguintes:

```{r letras-ufsm, eval=TRUE, echo = TRUE, message = TRUE, results = 'hide'}
letters
## letras em maiúsculo
LETRAS <- toupper(letters)
LETRAS
x <- LETRAS[LETRAS %in% c('U', 'F', 'S', 'M')]
x
```
  • letras-ufsm identificador do chunk (opcional) que permite encontrar ele mais fácil se ocorrer algum erro durante a geração do documento.
  • eval = TRUE opção para executar o chunk quando compilar o documento (valor default: TRUE).
  • message = TRUE mostra as mensagens de erro (default TRUE).
  • results = 'hide' permite ocultar as saídas da avaliação do código do chunk (default 'hold', ou seja mantém os resultados).

O resto das opções são mostradas ao pressionar a tecla tab com o mouse posicionado dentro dos colchetes da linha do chunk. Para uma lista completa os parâmetros do chunck consulte http://yihui.name/knitr/options/.

C.1.2 Saídas dos chunks

Os resultados dos chuncks podem ser mostrados na forma de figuras, tabelas e textos.

```{r, warning=FALSE, message=FALSE,comment=''}
# carregando a pacote 'ggplot2' para gráficos elegante
library(ggplot2)
# pacote que contém conjunto de dados de temperatura
library(gcookbook)
# Mostrando as primeiras linhas da tabela 'climate' que pertenece ao pacote
head(climate)
# Usando a função qplot() para plotar a série de temperatura global
qplot(x = Year, y = Anomaly1y, data = climate) + geom_smooth()
# Usando apenas a função plot()
plot(x = climate$Year, y = climate$Anomaly1)
# regressão linear
reg <- lm(Anomaly1y ~ Year, data = climate)
# extraindo o coeficiente angular (°C/ano) da reta
# convertendo para °C/100 anos
tendencia <- coef(reg)[2] * 100
```

O resultado do chunck acima será:

#>     Source Year Anomaly1y Anomaly5y Anomaly10y Unc10y
#> 1 Berkeley 1800        NA        NA     -0.435  0.505
#> 2 Berkeley 1801        NA        NA     -0.453  0.493
#> 3 Berkeley 1802        NA        NA     -0.460  0.486
#> 4 Berkeley 1803        NA        NA     -0.493  0.489
#> 5 Berkeley 1804        NA        NA     -0.536  0.483
#> 6 Berkeley 1805        NA        NA     -0.541  0.475
#> `geom_smooth()` using method = 'loess' and formula 'y ~ x'
#> Warning: Removed 207 rows containing non-finite values (stat_smooth).
#> Warning: Removed 207 rows containing missing values (geom_point).

#>      Year 
#> 0.5929518

Podemos fazer outro chunk para mostrar as tabelas.

#> ```{r}
#> # pacote com a função kable para saída de tabelas
#> library(knitr)
#> # Aplicando a função 'summary()' ao dataframe airquality.
#> s <- summary(airquality)
#> # Convertendo o formato da saída das tabelas
#> kable(s, caption = 'Tabela 1: Resumo estatístico dos de qualidade do ar')
#> ```
Tabela C.1: Tabela 1: Resumo estatístico dos dados de 'qualidade do ar' de NY
Ozone Solar.R Wind Temp Month Day
Min. : 1.00 Min. : 7.0 Min. : 1.700 Min. :56.00 Min. :5.000 Min. : 1.0
1st Qu.: 18.00 1st Qu.:115.8 1st Qu.: 7.400 1st Qu.:72.00 1st Qu.:6.000 1st Qu.: 8.0
Median : 31.50 Median :205.0 Median : 9.700 Median :79.00 Median :7.000 Median :16.0
Mean : 42.13 Mean :185.9 Mean : 9.958 Mean :77.88 Mean :6.993 Mean :15.8
3rd Qu.: 63.25 3rd Qu.:258.8 3rd Qu.:11.500 3rd Qu.:85.00 3rd Qu.:8.000 3rd Qu.:23.0
Max. :168.00 Max. :334.0 Max. :20.700 Max. :97.00 Max. :9.000 Max. :31.0
NA's :37 NA's :7 NA NA NA NA

C.1.3 Códigos R dentro de linhas

Podemos usar o R em expressões dentro de uma linha de texto, para mostrar o valor de uma variável ou efetuar um cálculo. Por exemplo, para obtermos o valor resultante de 2 + 2 escrevemos `r 2 + 2` e o R colocará o resultado naquela posição do texto.

Por exemplo, a sentença:

  • A tendência da temperatura do ar média global é de ` r round(tendencia, 2)` °C/100 anos.

ficará

  • A tendência da temperatura do ar média global é de 0.59 °C/100 anos.