这与an existing post有关。由于我是新手,因此无法添加评论,因此我提出了一个问题,希望有人可以将其链接到相关帖子。
我不想基于参数limit
(TRUE或FALSE)执行某些块。 @ eipi10和@xitrium的解决方案都无法为注释的块创建输出,但是渲染器实际上仍然执行注释的块,在我的情况下,这会导致错误(由于仅基于另一个参数使用了一部分数据)并且某些分析会遇到缺少数据的问题)并停止运行。我要指定不执行的整个块,而不是使用许多tryCatch
。如何实现?
答案 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
。