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`.