r - 将 knitr 代码块缠绕成多个文件而不是一个文件

标签 r knitr

我是 knitr 的新用户。我知道 knitr 可以“解决”(取自 Literate programming community)或将源代码块提取到 R 脚本文件中。作为 org-mode-user,我习惯于为每个代码块指定一个特定的文件,不同的 block 可能使用相同的文件。在 org 模式下“纠结”或提取源代码时,会生成多个代码文件,而不是一个输出代码文件(这有助于大型项目的模块化)。

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

最佳答案

您的问题至少有两种不同的解读方式,每一种都需要稍微不同的工作流程。

如果每个 block 都将被写入一个单独的输出文档,那么为了帮助模块化,您应该将报告部分拆分为多个文档。由于knitr支持child documents ,您可以随时以您喜欢的任何组合将它们重新组合成更大的文档。

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

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

您可以通过设置 eval 来设置运行哪些 block 。和 include block 选项。
```{r, some_chunk, eval = params$report_type == "weekly", include = params$report_type == "weekly"}
# chunk contents
```

关于r - 将 knitr 代码块缠绕成多个文件而不是一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38783854/

相关文章:

sql-server - RODBCExt : sqlExecute issue with dates

r - 在 Markdown 中的图周围环绕文本

r - 如何使用 R 的 data.table 包对键值的否定进行子集化?

r - 如何按位置改变列而不是指定名称

r - k表示聚类结果存储以备后用

r - 字符串和数字之间的 xy 图

r - knitr 自定义引擎 block 的输出图

r - 在标题中插入换行符

r - 将 MATLAB 脚本集成到 R Markdown 文档中

html - 使用 knitr 导入 html 输出的字体类型