基于R脚本生成HTML报告,发生错误时停止执行脚本,生成包含该错误的报告?

问题描述 投票:0回答:1

我正在尝试使用 rmarkdown::render() 从 R 脚本生成报告。如果我的脚本中有错误,我希望脚本停止,并且我希望呈现到那时为止的报告,包括错误。到目前为止,我有这个:

脚本 1

rmarkdown::render("Script 2")

脚本 2

#+ include = TRUE 
knitr::opts_chunk$set(error = TRUE)
knitr::knit_hooks$set(error = function(x, ...) {
  knit_exit(); x
})
#+ 

stop("this is an error!")

message("this message shouldn't be displayed")

stop("second error")


这是输出的样子:

如您所见,脚本生成了包含所有错误的报告,但我想让它做的是在遇到第一个错误时停止执行脚本,然后生成包含该错误的 html 日志。在我的示例中,这意味着我不希望显示消息“不应显示此消息”或之后的任何内容。但是,使用示例脚本,消息是可见的,之后的所有内容都在输出中可见。

r r-markdown knitr
1个回答
0
投票

要使这个

error
钩子生效,需要设置chunk选项
error = TRUE
,例如,

knitr::opts_chunk$set(error = TRUE)
© www.soinside.com 2019 - 2024. All rights reserved.