R 代码 + 文本:Rmd 和 R 之间的代码块分隔差异



我开始用文本嵌入R代码,我正在使用knitr来生成pdf和html文档。我之前已经通过编辑 Rmarkdown 文件做到了这一点,但在我看来,直接从 R 脚本(而不是从 Rmarkdown 文件(编译报告有一个优点:在.R文档中运行 R 代码本身并对其进行测试要容易得多,之后能够添加文本并以美观和美观的方式打印它。

但是,我注意到直接使用 Rmd 或 R 时定义代码块的方式有所不同。

在 Rmarkdown 中,要分隔代码块,我需要设置它的开始位置(用```{r}表示(和结束时间(用```表示(。这两个元素之间的所有内容都对应于 R 代码和注释,它们将作为单个块中的代码读取。

但是,当直接从 R 代码编译报告时,我可以分隔块何时开始(通过键入#+#-或类似#---,根据用于呈现文档的函数旋转(,但我没有设置块的结束位置(而且我还没有找到有关这方面的信息(。我假设,在这种表示法中,如果另一个块设置为开始(例如通过#+(或将某些内容设置为编译为文本(通过行首的#'(,则代码块会自动结束。否则,我会假设脚本中的所有内容都被视为相同的代码块。

我对这些假设是正确的吗?
有没有办法显式声明在从 R 脚本编译报表时代码块必须结束?

提前感谢,
贝尔纳多

我想我理解你的问题。我花了很长时间才弄清楚事情,今晚我工作了一点。

"#+"分隔符开始一个部分,而不是只能是代码。 空行是可以的,R 样式的注释是可以的,但是任何 #' 样式的 markdown 编码都会终止块。 任何默认区块选项都将在嵌入式 rmarkdown 编码后恢复为默认值。

如果仍然对此感兴趣,我有一个示例编码。

相关内容

最新更新