```{r, error=TRUE, echo=FALSE, message=FALSE, results='hide', warning=FALSE}
abc1 <- data.frame(content(xyz)$test[[1]]$text)
abc2 <- data.frame(content(xyz)$test[[2]]$text)
abc3 <- data.frame(content(xyz)$test[[3]]$text)
abc4 <- data.frame(content(xyz)$test[[4]]$text)
abc5 <- data.frame(content(xyz)$test[[5]]$text)
```
我已经从上面的rmarkdown中提到过r chunk。我正在r块中创建数据帧abc1,abc2,abc3 ... abc23。问题是我得到了“out of SUBSCRIPTION BOUND ERROR”作为“test [[4]] $ text”测试列表的第4个元素不存在,编译停止和最终输出的过程在HTML输出中打印。
通过使error = TRUE,我可以避免停止编译的问题。编译完成,但最终结果是ERROR MESSAGES打印在最终的HTML输出上。有没有办法避免从最终的HTML文档中显示或删除错误消息。我试过使用result ='hide'但似乎没有解决这个问题。如何在没有错误消息的情况下使用rmarkdown获得干净的HTML输出?
这是在最终HTML输出上打印的错误消息,我试图摆脱使用r块选项:
## Error in content(xyz)$test[[4]]: subscript out of bounds
答案 0 :(得分:2)
我没有找到一个块选项来抑制文档中的错误消息。但是你可以使用R函数try()
来实现这个目的:
```{r, echo=FALSE}
try({
abc1 <- data.frame(content(xyz)$test[[1]]$text)
abc2 <- data.frame(content(xyz)$test[[2]]$text)
abc3 <- data.frame(content(xyz)$test[[3]]$text)
abc4 <- data.frame(content(xyz)$test[[4]]$text)
abc5 <- data.frame(content(xyz)$test[[5]]$text)
}, silent = TRUE)
```
根据文件
try
评估表达式并捕获评估期间发生的任何错误。
使用参数silent
,您可以控制是否应打印错误消息。但是,似乎HTML文件不包含独立于silent
值的错误消息。
这也意味着不需要块选项error=TRUE
,因为不再存在错误。在目前的情况下,也不需要大多数其他选项,因为块不会产生任何输出,消息或警告。