Skip to main content
Overleaf offre un’integrazione con knitr, che ti permette di aggiungere codice R al tuo documento LaTeX per generare un output dinamico. I documenti che contengono codice R devono essere salvati con l’estensione .Rtex o .Rnw, altrimenti il codice non funzionerà. Vediamo un esempio:
KnitrDemo1.png Apri questo esempio knitr su Overleaf Come puoi vedere, il testo compreso tra i caratteri <<>>= e @ è codice R. Questo codice e il suo output vengono stampati in un formato simile a un listato. Questo blocco di codice può accettare alcuni parametri aggiuntivi per personalizzare l’output dinamico, come descritto nella sezione successiva.

Blocchi di codice

Un blocco di codice come quello presentato nella sezione precedente viene di solito chiamato chunk. Nei chunk di knitr puoi impostare alcune opzioni aggiuntive. Guarda l’esempio seguente:
KnitrDemo2.png Apri questo esempio knitr su Overleaf All’interno di << e >> vengono passate due opzioni aggiuntive.
  • echo=FALSE nasconde il codice e stampa solo l’output generato da R.
  • cache=TRUE se cache è impostato a true, il chunk non viene eseguito, vengono usati solo gli oggetti da esso generati. Questo fa risparmiare tempo se i dati di quel chunk non sono cambiati.
    Nota che l’opzione cache=TRUE al momento non è supportata in Overleaf, ma dovrebbe funzionare in locale.
Consulta la guida di riferimento per altre opzioni.

Comandi inline

È possibile accedere agli oggetti generati in un chunk e stamparli all’interno del testo.
KnitrDemo3.png Apri questo esempio knitr su Overleaf Il comando \Sexpr{mean(X)} stampa l’output restituito dal codice R mean(X). All’interno delle parentesi graffe si può passare qualsiasi comando R.

Grafici

Anche i grafici possono essere aggiunti a un documento knitr, come in questo esempio:
KnitrDemo4.png Apri questo esempio knitr su Overleaf Questo istogramma usa i dati memorizzati in “data.txt”, salvato nella directory di lavoro corrente. Al chunk vengono passate alcune opzioni relative alla figura. plot1 è l’etichetta usata per fare riferimento al grafico. Il prefisso “fig:” è obbligatorio. Nell’esempio puoi vedere che si fa riferimento alla figura con \ref{fig:plot1}. fig.pos="t" è il parametro di posizionamento, lo stesso usato nell’ambiente figure. fig.height=4, fig.width=4 sono la larghezza e l’altezza della figura. fig.cap="First plot" è la didascalia della figura.

Script R esterni

Puoi importare parti di uno script R esterno in un documento knitr. Questo è molto utile, poiché è abbastanza comune scrivere ed eseguire il debug dello script in un programma esterno prima di includerlo nel documento. Supponiamo di avere il seguente codice R in un file chiamato mycode.R, che includiamo nel nostro documento LaTeX:
Nota le righe:
e
Queste righe indicano l’inizio di un chunk di codice e sono obbligatorie se vuoi usare questo script nel documento, come mostrato nel seguente frammento di codice:
KnitrDemo5.png Il primo chunk non viene stampato e serve solo a importare lo script con il comando read_chunk("mycode.R"). Per questo è impostata l’opzione echo=FALSE. Inoltre, gli script non devono essere memorizzati nella cache. Una volta importato lo script, puoi stampare un chunk usando l’etichetta impostata dopo ## ----. In questo caso è myrcode2. Abbiamo raccolto tutti i frammenti di codice dell’articolo in un progetto che puoi aprire su Overleaf.

Guida di riferimento

Alcune opzioni dei chunk:
  • results. Modifica il comportamento dei risultati generati dal codice R. I valori possibili sono:
    • markup usa LaTeX per formattare l’output.
    • asis stampa i risultati grezzi di R.
    • hold trattiene i risultati dell’output e li sposta alla fine del chunk.
    • hide nasconde i risultati.
  • echo. Indica se includere il codice sorgente R. Altri parametri includono:
    • echo=2:3 stampa solo la seconda e la terza riga;
    • echo=-2:-3 esclude solo la seconda e la terza riga.
  • cache. Indica se memorizzare nella cache il chunk di codice. I valori possibili sono: TRUE e FALSE
  • highlight. Indica se evidenziare la sintassi del codice sorgente. I valori possibili sono: TRUE e FALSE
  • background. Colore di sfondo del chunk. Si possono usare i formati rgb e HTML. Il valore predefinito è “#F7F7F7”.
Ultima modifica il 4 ottobre 2026