【问题标题】:Generate a report containing only R scripts but no outputs生成仅包含 R 脚本但不包含输出的报告
【发布时间】:2018-07-25 08:24:59
【问题描述】:

我正在寻找一种以 PDF 格式输出 R 脚本的方法。

如果在 Rstudio 中使用“编译报告”选项,它会生成一个包含输出的报告。但是,代码的计算时间相当长。有没有办法关掉它,我想应该在某处配置像echo = FALSE 这样的选项。

【问题讨论】:

  • 你试过eval=FALSE 吗?
  • @snoram 如果我从 cmd 调用 rmarkdown:render,则 eval = FALSE 是未使用的参数。
  • 另一种选择是缓存块。它将块结果保存到二进制文件中,并在您下次“编织”文档时加载它。

标签: r r-markdown


【解决方案1】:

正如 snoram 在 cmets 中所述,您可以设置 eval=FALSE 以防止任何代码运行。如果您希望这些设置应用于整个文档,您可以使用knitr::opts_chunk$set 在第一个块中指定它们。下面是一个例子:

---
title: "Untitled"
output: pdf_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(eval = FALSE)
```


```{r}
# your code
library(ggplot2)
ggplot(iris, aes(Sepal.Length, Sepal.Width, colour = Species)) +
  geom_point()
```

此处提供了有关 knitr 块选项的完整说明:https://yihui.name/knitr/options/


选项 2:跳过运行 knitr

R Markdown 通过knitr 运行文档,该knitr 运行任何代码块并保存文档的输出。如果你只希望代码输出,我们可以跳过这个处理,将原始的.Rmd文件传递给pandoc(负责构建最终输出文档的软件。如果我们假设文件名为@ 987654332@

rmarkdown::pandoc_convert("test.Rmd", to = "latex", output = "test.pdf")

【讨论】:

  • 选项 2 可以在 cmd 或常规 R 脚本中执行,对吗?这正是我正在寻找的。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-22
  • 2010-10-10
  • 1970-01-01
  • 2013-02-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多