纠结编织器代码块不是一个而是几个文件

时间:2016-08-05 07:45:32

标签: r knitr

我是knitr的新用户。我知道knitr可以“纠结”(取自Literate编程社区)或将源代码块提取到R脚本文件中。作为组织模式用户,我习惯于能够为每个代码块指定特定文件,对于不同的块可能具有相同的文件。当在org-mode中“纠缠”或提取源代码时,不会生成一个输出代码文件,而是生成多个代码文件(这有助于大型项目中的模块化)。

我想知道knitr中是否有类似的东西?我可以逐块指定knitr中的输出文件吗?

1 个答案:

答案 0 :(得分:3)

您的问题至少有两种不同的读数,每种读数都需要略有不同的工作流程。

如果要将每个块写入单独的输出文档,然后为了协助模块化,您应该将报告部分拆分为多个文档。由于knitr支持child documents,因此您始终可以按照您喜欢的任意组合将这些重新组合成更大的文档。

如果您想要条件执行某些块,并且可以运行几种不同的条件组合,请使用R Markdown YAML标头,并包含params element.

----
params:
  report_type: "weekly" # should be "weekly" or "yearly"
----

您可以通过设置evalinclude块选项来设置运行的块。

```{r, some_chunk, eval = params$report_type == "weekly", include = params$report_type == "weekly"}
# chunk contents
```