Suppressing Error Messages in knitr

knitr, latex, r, sweave

Solution

Errors have their own dedicated hook function, stored in the environment accessed by `knit_hooks$get()`. Here, for your enlightenment, is the complete list of those functions:

names(knit_hooks$get())
# [1] "source"   "output"   "warning"  "message"  "error"    "plot"    
# [7] "inline"   "chunk"    "document"

To suppress warnings, just overwrite the default error hook function with one that takes the required arguments, but doesn't return anything at all.

\documentclass{article}
\begin{document}

<<setup, include=FALSE, cache=FALSE>>=
muffleError <- function(x,options) {}
knit_hooks$set(error=muffleError)
@

<<Test>>=
1:10
X
@
\end{document}

Which, upon compilation, yields the following

Problem

I wonder how to suppress error messages in `knitr`. My MWE is below: ``` \documentclass{article} \begin{document} << Test >>= 1:10 X @ \end{document} ``` Edited The object `X` does not exist. I want to show `X` in my code chunk and want to evaluate it too even this will throw an error. But doesn't want to show any errors in my `.tex` document same as we can suppress warnings by setting `warning=FALSE`.

Original source