无法解决 .Rmd 文件中的错误 <Anonymous> ... withCallingHandlers -> withVisible -> eval -> eval ->

Can't resolve error in .Rmd file <Anonymous> ... withCallingHandlers -> withVisible -> eval -> eval ->

我正在尝试编写一份文档,讨论使用错误向用户传达参数问题。不幸的是,我似乎无法编织 .Rmd 文件。一个简短的例子:

Intro text

```{r}
some_function <- function(x, y)
{
  if (x < 0) stop("x must be greater than 0")
  x + y
}

some_function(3, 2)
```

```{r}
some_function(-3, 2)
```

当我尝试将其编织成任何格式时,出现错误

Quitting from lines 14-15 (test.Rmd) 
Error in some_function(-3, 2) : x < 0
Calls: <Anonymous> ... withCallingHandlers -> withVisible -> eval -> eval -> some_function

Execution halted

到目前为止我读到的所有内容都表明这是 a) 未加载包,或 b) Rmd 文件中错误设置路径的问题。

因为我在这里只使用基本函数并且没有引用任何文件(无论如何我都知道),所以我认为这些都不是我的问题(但我很乐意错了)。

关于编织文档需要做什么的任何提示?

解决方案

将以下内容添加到 .Rmd

的顶部
```{r, echo=FALSE}
knitr::opts_chunk$set(error = TRUE)
```

简短说明,RMarkdown v1 默认使用 error = TRUE,但 RMarkdown v2 使用 error = FALSE。请参阅下面 Josh 评论中的 link。

不要用rstudio中的按钮编译。尝试:

library("knitr")
knit2html("file")

就我而言(2021 年 6 月,R 4.06,最新的 RStudio),替换

```{r eval=T, message=F, warning=F, error=F}

```{r message=FALSE, warning=FALSE, error=FALSE}

解决了这个问题:

Error in options$error && options$include : invalid 'x' type in 'x && y' Calls: ... call_block -> block_exec -> in_dir -> evaluate -> `

很奇怪....