2015-12-15 10 views
21

Stavo scrivendo un documento Rmarkdown (compilato in HTML) in RStudio, e ci sono alcuni blocchi di codice che generano deliberatamente degli errori. per esempio:Come saltare il controllo degli errori durante la compilazione di Rmarkdown?

```{r} 
sum(a) 
``` 

Poiché non esiste una definizione precedente per a questo pezzo sarà naturalmente genera un messaggio di errore come object 'a' not found. Mi piacerebbe che questo messaggio di errore fosse visualizzato nel file HTML finale, ma quando premo Ctrl+Shift+K in RStudio su "Knit HTML", il compilatore ha segnalato l'errore e ha interrotto la lavorazione.

Quindi, come posso dire a knitr di ignorare tale errore al momento della compilazione e visualizzarlo nel documento HTML lavorato?

risposta

29

Uso error=TRUE: da the description of knitr chunk options,

error: (TRUE; logical) whether to preserve errors (from stop()); by default, the evaluation will not stop even in case of errors!! if we want R to stop on errors, we need to set this option to FALSE

rmarkdown::render, la funzione dietro tasto di RStudio "Knit HTML"/Ctrl-Shift-K di scelta rapida, imposta error=FALSE di default (in contrasto con knitr::knit, che per default è error=TRUE)

```{r error=TRUE} 
sum(a) 
``` 
+0

Grazie Ben! Stavo leggendo il pdf della guida di riferimento markdown invece del sito web di knitr, e suppongo che la sua descrizione di "errore" debba essere aggiornata. La formulazione simile nel file pdf mi fa pensare che il comportamento dell'opzione 'error' sia simile a' message' e 'warning'. – Benny

+0

Ho aggiunto questo all'inizio del mio script RStudio: '# + setup, error = TRUE' –

Problemi correlati