为什么抑制 Rmarkdown 中的错误不起作用?
why suppress Error in Rmarkdown doesn't work?
我想抑制 Rmw 文件中的错误。所以,我尝试设置全局块选项 error=TRUE
,但它不起作用。直接在块中设置块选项 error=TRUE
也不起作用。
这是一个示例代码:
\begin{document}
\SweaveOpts{concordance=TRUE}
abc
<<setup, cache=F, include=F>>=
library(knitr)
library(formatR)
opts_chunk$set(error=TRUE)
knit_hooks$set(error=TRUE)
@
<<a,error=TRUE>>=
A <- 5
# of course, that doesnt work, but i want the error message as chunk output
A * B
@
\end{document}
我不明白为什么它不起作用
只有错误信息:
“eval(expr, .GlobalEnv) 错误:找不到对象 'L'”
出现。
您似乎在使用基于 R 的 Sweave
而不是 knitr
。如果您使用 knitr
,您会收到有关 \SweaveOpts{concordance=TRUE}
语句的警告。
如果您使用的是 RStudio,这是项目选项之一。如果你是直接 运行ning 事情,运行 knitr::knit("<your filename>")
,而不是 Sweave("<your filename>")
。
还有一些其他错误会导致 knitr
无法正常工作;此版本修复了它们:
\documentclass{article}
\begin{document}
abc
<<setup, cache=F, include=F>>=
library(knitr)
library(formatR)
opts_chunk$set(error=TRUE)
@
<<a,error=TRUE>>=
A <- 5
# of course, that doesnt work, but i want the error message as chunk output
A * B
@
\end{document}
变化是:
- 开头需要
\documentclass
行。
- 您不需要
\SweaveOpts{concordance=TRUE}
语句。
- 您不需要
knit_hooks$set(error=TRUE)
语句。
我想抑制 Rmw 文件中的错误。所以,我尝试设置全局块选项 error=TRUE
,但它不起作用。直接在块中设置块选项 error=TRUE
也不起作用。
这是一个示例代码:
\begin{document}
\SweaveOpts{concordance=TRUE}
abc
<<setup, cache=F, include=F>>=
library(knitr)
library(formatR)
opts_chunk$set(error=TRUE)
knit_hooks$set(error=TRUE)
@
<<a,error=TRUE>>=
A <- 5
# of course, that doesnt work, but i want the error message as chunk output
A * B
@
\end{document}
我不明白为什么它不起作用
只有错误信息: “eval(expr, .GlobalEnv) 错误:找不到对象 'L'” 出现。
您似乎在使用基于 R 的 Sweave
而不是 knitr
。如果您使用 knitr
,您会收到有关 \SweaveOpts{concordance=TRUE}
语句的警告。
如果您使用的是 RStudio,这是项目选项之一。如果你是直接 运行ning 事情,运行 knitr::knit("<your filename>")
,而不是 Sweave("<your filename>")
。
还有一些其他错误会导致 knitr
无法正常工作;此版本修复了它们:
\documentclass{article}
\begin{document}
abc
<<setup, cache=F, include=F>>=
library(knitr)
library(formatR)
opts_chunk$set(error=TRUE)
@
<<a,error=TRUE>>=
A <- 5
# of course, that doesnt work, but i want the error message as chunk output
A * B
@
\end{document}
变化是:
- 开头需要
\documentclass
行。 - 您不需要
\SweaveOpts{concordance=TRUE}
语句。 - 您不需要
knit_hooks$set(error=TRUE)
语句。