eval=FALSE 的块仍然在 R Sweave 上计算

Chunk with eval=FALSE still evaluates on R Sweave

我正在为一门课程编写一些西班牙语的教育手册,所以我正在制作一个包含一些块的 Sweave 文档,我正在尝试制作一个错误消息的示例。但首先我需要显示该错误的根源,所以我正在使用这段代码,因为我不希望代码评估我正在使用 eval=FALSE:

<<eval=FALSE, error=TRUE,tidy=FALSE>>=
c(1,2 3)
#falta una coma
@

但代码仍在评估,它不允许我打印文档,给我这个错误消息

(chunk 306) 5305:7: unexpected numeric constant

您的代码正在被解析,而不是被评估。如果您有 knitrevaluate 的当前版本,这将导致 knitr 日志中出现警告,它不会停止 运行。我正在使用 knitr 1.16 和 evaluate 0.10.1,一切正常。有关更多信息,请参阅

(顺便说一句,我认为你使用的是 knitr,而不是 Sweave。它们是不同的。Sweave 无法处理这个问题。如果你真的在使用 Sweave,切换到knitr。切换并不难,而且带来很多好处。)