在knitr中抑制错误消息

MYa*_*208 3 latex r sweave knitr

我想知道如何抑制错误信息knitr.我的MWE如下:

\documentclass{article} 
\begin{document}
<< Test >>=
1:10
X
@ 
\end{document}
Run Code Online (Sandbox Code Playgroud)

编辑

该对象X不存在.我想X在我的代码块中显示并想要评估它,即使这会引发错误.但是我不想在我的.tex文档中显示任何错误,因为我们可以通过设置来抑制警告warning=FALSE.

Jos*_*ien 6

错误有自己的专用钩子函数,存储在访问的环境中knit_hooks$get().在这里,您的启示是这些功能的完整列表:

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

要禁止显示警告,只需使用带有所需参数的函数覆盖默认错误挂钩函数,但不会返回任何内容.

\documentclass{article}
\begin{document}

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

<<Test>>=
1:10
X
@
\end{document}
Run Code Online (Sandbox Code Playgroud)

在编译时,产生以下内容

在此输入图像描述