如何不基于参数执行某些Rmarkdown块?

时间:2019-06-15 01:52:58

标签: r markdown r-markdown

这与an existing post有关。由于我是新手,因此无法添加评论,因此我提出了一个问题,希望有人可以将其链接到相关帖子。

我不想基于参数limit(TRUE或FALSE)执行某些块。 @ eipi10和@xitrium的解决方案都无法为注释的块创建输出,但是渲染器实际上仍然执行注释的块,在我的情况下,这会导致错误(由于仅基于另一个参数使用了一部分数据)并且某些分析会遇到缺少数据的问题)并停止运行。我要指定不执行的整个块,而不是使用许多tryCatch。如何实现?

1 个答案:

答案 0 :(得分:0)

knitr chunk options之一是eval=,它控制是否评估块。在该页面上:

  
      
  • eval:(TRUE;逻辑)是否评估代码块;它也可以是一个数字向量,用于选择要评估的R个表达式,例如eval=c(1, 3, 4)eval=-(4:5)
  •   

这样做的一个好处是它可以实时使用R变量,这些变量可以在前一个块(eval=limit中生成)或传递给parameterized R-markdown document(作为eval=params$limit)。

根据您的全局选项,您可能总是希望/需要禁止打印块,也可以添加echo=params$limit