R

Como xa vimos na nova https://blog.atio.es/node/395, os exercicios seriados resultan moi útiles para o alumnado. Ao repetir o mesmo algoritmo varias veces, o alumno afianza a resolución dun modelo de exercicio. Vexamos nesta ocasión como se edita un boletín de exercicios en RStudio.

Paso 1. Instalamos RStudio. Quedou explicado nestas dúas novas:

a. Instalación en Arch Linux: https://blog.atio.es/node/434

b. Instalación en Debian: https://blog.atio.es/node/417

Paso 2. Descargamos un documento mestre editado con RStudio e descomprimímolo. Neste caso xa o deixo exemplificado cuns exercicios de corrente continua, que irei mellorando progresivamente.

https://atio.es/pub/boletin_rstudio.zip

Paso 3. Abrimos: File > Open Project e procuramos o ficheiro boletin_mestre.Rproj

Paso 4. Abrimos Principal e xa prememos en Knit > knit to PDF. Se non xerase ningún documento pdf, debemos de ir instalando os paquetes nos que teñamos un erro.

E xa descifrando un pouco código, observamos que na páxina principal dispoñemos dun chunk, que non é máis que un FOR que chama de maneira reiterativa ao ficheiro link_exercicios.Rmd. Non acadei facelo máis sinxelo.

```{r results='asis', echo=FALSE}
    res <- vector("list", length = 10)
    for (i in 1:10) {
      res[[i]] <- knitr::knit_child("link_exercicios.Rmd", quiet = TRUE, envir = environment())
    }
    cat(unlist(res), sep = '')
```

Neste exemplo, crea 10 boletíns. Pero chega un momento que aínda que subamos a cifra de pdfs non crea máis, e débese a limitacións de memoria. Terei que investigar un pouco máis no asunto.

O ficheiro link_exercicios.Rmd a súa vez chama a todos os ficheiros que dispoñemos no cartafol exercicios:

```{r child = './exercicios/exercicio1.Rmd'}
```
```{r child = './exercicios/exercicio2.Rmd'}
```
```{r child = './exercicios/exercicio3.Rmd'}
```
```{r child = './exercicios/exercicio4.Rmd'}
```
```{r child = './exercicios/exercicio5.Rmd'}
```
```{r child = './exercicios/exercicio6.Rmd'}
```

Se incrementamos o número de exercicios, debemos de facelo tamén neste listado.

E por último, en cada exercicio, observamos dúas partes: na primeira facemos os cálculos con R. Tamén os podemos facer en Python, tal e como expliquei neste post: https://blog.atio.es/node/435 , aínda que non é necesario saír da linguaxe de programación R.

```{r echo=FALSE}
v <- sample (c(10,20,30,40,50), size=1)
r <- sample (c(2,3,4,5), size=1)
i <- round(v/r, 2)
```

Na segunda parte imprimimos no documento o enunciado do problema coas asignación das variables facilitadas polos cálculos da primeira parte:

1. Conéctase unha resistencia de `r r` k$\Omega$ a unha pila de `r v` V. Cal é a intensidade de corrente eléctrica que percorre o circuíto?
\newline
\newline
Solución: I= `r i` mA

Un detalle importante, consiste en rematar o último exercicio do boletín coa instrución \clearpage. A finalidade é a de introducir un salto de páxina e deste xeito, cada boletín comece co exercicio 1.

E o resultado quedaría do seguinte xeito: