---
title: "Un documento Quarto con codice esterno"
author: "DV"
format:
  html:
    toc: true
    toc-title: INDICE
---

## `Chunk` preliminari di codice

Per sfruttare il codice `R` disponibile su un file script esterno si può sfruttare la funzione `read_chunk()` della libreria `knitr`:

```{r}
#| echo: TRUE
knitr::read_chunk("lab_12-report-quarto_codice-esterno.R")
```

Nel file script esterno è necessario definire i nomi dei `chunk` da richiamare con la sintassi: `## @knitr nome-chunk-esterno`.

E' importante sottolineare che al report `Quarto` è destinato uno spazio di memoria dedicato, per cui è necessario caricare esplicitamente tutte i package necessari all'analisi:

```{r librerie-di-lavoro}
#| echo: TRUE
#| warning: FALSE
```

## "Tabellone" dati

Anche se non è molto utile in questo caso, è possibile sfruttare la funzione `datatable {DT}` per stampare in output la tabella dati utilizzata per l'analisi:

```{r tabella_dati}
DT::datatable(gapminder)
```

## Un esempio di tabelle e grafici di sintesi

Di seguito un esempio di un `chunk` di codice `R` che produce una tabella formattata sfruttando la funzione `kable()`:

```{r tab-sintesi}
```

e di un `chunk` di codice per la costruzione di un grafico che mostra l'andamento dell'aspettativa media di vita (asse verticale) nei vari continenti (differenti linee) per gli anni (asse orizzontale) disponibili nel dataset:

```{r fig-sintesi}
#| warning: false
#| fig-cap: "Andamento dell'aspettativa di vita medio nei cinque continenti"
```

## Alcuni esempi con `gtExtras` per arricchire le tabelle in output

Il package `gtExtras` contiene diverse funzioni per arricchire un report tabellare. Un esempio è la funzione `plt_bullet`, che permette di visualizzare in modo grafico il valore di una colonna della tabella.

Preparo prima la tabella come di seguito illustrato estraendo a caso due paesi per ciascuno dei cinque continenti:

```{r plt-bullet-tab}
#| warning: false
```

A questo punto sfrutto la funzione `plt_bullet` per visualizzare graficamente la colonna relativa all'aspettativa di vita media: la lunghezza della barra è collegata al volore dell'aspettativa di vita del particolare paese, mentre le linee rosse all'aspettativa di vita media del continente.

```{r plt-bullet-plot}
#| warning: false
```

Un altro esempio interessante è rappresentato dalle `sparkline`. In questo caso è necessario inserire nelle celle delle colonne in cui si vogliono inserire le `sparkline` dei vettori che verranno utilizzati per costruire questo tipo di rappresentazione.

Costruisco (e stampo sulla console) la tabella dati:

```{r plt-sparkline-tab}
```

E poi sfrutto la funzione `gt_plt_sparkline` indicando quale colonne contiene i dati necessari alla rappresentazione grafica:

```{r plt-sparkline-plot}
```
