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')
#> ```
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.