2015-12-15 264 views
21

我在RStudio中编写了一个Rmarkdown文档(编译为HTML),并且有一些代码块故意生成错误。例如:如何在Rmarkdown编译时跳过错误检查?

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

由于存在用于a以前没有定义这个块自然会产生像object 'a' not found错误消息。我希望在最终的HTML文件中显示此错误消息,但是当我在RStudio中按Ctrl+Shift+K以“编织HTML”时,编译器报告错误并停止编织。

那么我怎么能告诉knitr在编译时忽略这样的错误并将其显示在针织的HTML文档中?

回答

29

使用error=TRUE:从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,背后RStudio的 “针织HTML” 按钮/按Ctrl-Shift键-K快捷键,功能设置默认error=FALSE(相对于knitr::knit,默认为error=TRUE

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

谢谢Ben!我正在阅读r降价参考指南pdf而不是knitr网站,我猜想它的'错误'描述需要更新。在pdf文件中类似的措辞使我认为'error'选项的行为就像'message'和'warning'一样。 – Benny

+0

我将此添加到我的RStudio脚本的顶部:'#+ setup,error = TRUE' –