r - 为什么抑制Rmarkdown中的错误不起作用?

标签 r error-handling r-markdown knitr sweave

我想抑制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/

    相关文章:

    error-handling - 关于 Spring 消息驱动 channel 适配器的查询

    r - 如何将 Shiny 应用程序中的表格和绘图作为参数传递给 R Markdown?

    r - 编织到pdf时如何在方程中换行?

    php - 当mysqli INSERT失败时,catch不报告错误。

    r - 更改 R Markdown beamer 演示文稿中的背景

    r - ggplot2:使用gtable将标签条移动到facet_grid的面板顶部

    python - 使用 R 或 Python 从简单的列表颜色中绘制包含国家/地区的世界地图

    轴标签与表达式的 R 对齐

    r - 在 RStudio 中处理带有 .Rtex 扩展名的文件,如 knit/Sweave 文件

    error-handling - 防止直接从请求执行错误页面操作