我正在用 Sweave 写一些 R 笔记,并希望显示常见错误。例如,
<<echo=TRUE, eval=TRUE>>=
x = 5
#Case matters!
x*X
@
但是,在 sweaving 时,由于 R 错误,文档将无法编译。有什么方法可以使 sweave 编译并显示(格式良好的)错误?
如果我可以这么说,这与“下一代”无关knitr
。Sweave
它默认显示错误和警告,这在 中很难或不可能Sweave
,以及许多其他不错的功能(如语法着色、PGF 集成和绘图动画,对于初学者来说)。它也被积极开发和维护。
Sweave
代码必须使用Sweave2knitr
同一个包提供的功能转换一次。
正如 Shane 建议的那样,使用
<<echo=TRUE,eval=FALSE>>
对于会出错但您想显示的代码,然后再次使用
<<echo=FALSE,eval=TRUE,results=verbatim>>
但是尝试使用相同的代码。
这里有一个例子:http: //tolstoy.newcastle.edu.au/R/help/05/09/11690.html
将您的错误包装在try()
命令中。然后它将继续运行:
> {print(1); try(x*X); print(2)}
[1] 1
Error in try(x * X) : object 'X' not found
[1] 2