5.3 Arquivos

É possível adicionar arquivos que ficam disponíveis para download.

Neste primeiro exemplo, da figura abaixo, um arquivo em formato PDF fica disponível para download:

Questão contendo um arquivo externo para download.

Figura 5.3: Questão contendo um arquivo externo para download.

Fonte da figura: O autor

E o código em RMarkdown:

```{r include=FALSE}
## FILE
exams::include_supplement("domcasmurro.pdf")
```

Question
========
A singular obra de Machado de Assis, Dom Casmurro, é narrada em primeira pessoa. Quem é o personagem-narrador da história?

Download da obra [Dom Casmurro](domcasmurro.pdf) *Em dominio público*

Answerlist
----------
* Bento Santiago
* Escobar
* Capitu
* José Dias
* Ezequiel

Solution
========
Answerlist
----------
* CORRETA. 
* FALSA. 
* FALSA. 
* FALSA. 
* FALSA. 

Meta-information
================
exname: Dom Casmurro
extype: schoice
exsolution: 10000
exshuffle: TRUE

download arquivo file-ext.Rmd

download exemplo domcasmurro.pdf

É necessário o código:

```{r include=FALSE}
## FILE
exams::include_supplement("domcasmurro.pdf")
```

para fazer uma cópia do arquivo.

O link é adicionado com [Dom Casmurro](domcasmurro.pdf), em que o texto entre [] (colchetes) é o texto do link e entre () (parênteses) é o nome do arquivo com extensão.

Em outro exemplo, veremos como disponibilizar um arquivo para download com valores gerados pele próprio R.

Questão contendo um arquivo gerado internamente para download.

Figura 5.4: Questão contendo um arquivo gerado internamente para download.

Fonte da figura: O autor

E o código em RMarkdown:

```{r dgp, include = FALSE}
library(exams)
library(magrittr)
library(knitr)
options(scipen = 999) #prevent scientific notation 

## RANDOM DATA 
m <- 10:20 %>% sample(1)
dt <- rnorm(1000, mean = m)

## FILE
write.csv(dt, "data-normal.csv")

## SOLUTION
Mean <- mean(dt)
Sd <- sd(dt)
```

Question
========
Considere os valores disponíveis no arquivo [data-normal.csv](data-normal.csv). Calcule:

Questionlist
------------
* A média
* O desvio padrão

Solution
========
Solutionlist
------------
* A média é `r Mean`
* O desvio-padrão é `r Sd`

Meta-information
================
exname: BR
extype: cloze
exclozetype: num|num
exsolution: `r Mean`|`r Sd`
extol: 0.5

download exemplo file-int.Rmd

A função write.csv(dt, "data-normal.csv") salva os valores armazenados no objeto dt no arquivo data-normal.csv. Este mesmo arquivo é inserido pelo link [data-normal.csv](data-normal.csv).