C.3 Inserir código R no documento.
Um chunk tem a seguinte estrutura:
C.3.1 Opções do Chunk
Cada chunk possui parâmetros que permitem definir opções de execução para aquele chunck, as principais são as seguintes:
chunk1
identificador (ID) do chunk que permite encontrar ele mais fácil se ocorrer algum erro (opcional) durante a geração do documento.
eval = TRUE
opção para executar o chunk quando compilar o documento (default TRUE).
cache=TRUE
opção que permite ao chunk guardar os dados uma vez calculados (default FALSE).
message = TRUE
mostra as mensagens de erro (default TRUE).
echo = TRUE
se FALSE permite eliminar as saídas do chunk (default FALSE).
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/.
#> ```{r chunk2, eval=TRUE, message = TRUE, echo = TRUE}
#> letters
#> ## letras em maiúsculo
#> LETRAS <- toupper(letters)
#> LETRAS
#> x <- LETRAS[LETRAS %in% c('U', 'F', 'S', 'M')]
#> x
#> ```
O chunck2 será impresso da seguinte forma:
letters
#> [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s"
#> [20] "t" "u" "v" "w" "x" "y" "z"
## letras em maiúsculo
LETRAS <- toupper(letters)
LETRAS
#> [1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S"
#> [20] "T" "U" "V" "W" "X" "Y" "Z"
x <- LETRAS[LETRAS %in% c("U", "F", "S", "M")]
x
#> [1] "F" "M" "S" "U"
C.3.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.3.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.
Assim como,
- A média de uma sequência de números inteiros 1 até 10 é ` r mean(1:10) `.
ficará:
- A média de uma sequência de números inteiros de 1 até 10 é 5.5.