我想抑制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,则这是“项目选项”之一。如果直接运行事物,请运行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)
语句。 关于r - 为什么抑制Rmarkdown中的错误不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65765708/