【问题标题】:Display .R script in output of .Rmd file在 .Rmd 文件的输出中显示 .R 脚本
【发布时间】:2015-06-27 19:18:52
【问题描述】:

是否可以在 .rmd 文件的输出中包含或显示 .r 脚本?
重要 - 只想显示 .r 文件! 试过源(文件名.r);源不显示它。 有什么想法吗?

**knitr Global Options**   

```{r echo=TRUE}
knitr::opts_chunk$set(tidy=FALSE, fig.path='figures/')
```

**Load Libraries**   

```{r echo=TRUE}
library(dplyr)
```

```{r echo=TRUE, include=TRUE}
source("external.R")
# the complete source code of the .r file should be displayed here
# possible?
```

这种要求的用例是什么?
创建 .Rmd 有助于文档。事实上,我所有的文档都是使用 .Rmd 创建的。
有些 .R 脚本需要很长时间才能运行(处理大数据)。在这种情况下,使用 .Rmd 是不切实际的。更喜欢使用 .R 脚本。
如果 .R 的源代码可以“包含并显示”在 .Rmd 中,对于文档目的来说将是非常棒的。

【问题讨论】:

    标签: r markdown rstudio knitr


    【解决方案1】:

    对于这种特殊情况,有一个简单的解决方案。也就是说,您可以将源代码分配给块选项code,然后 knitr 将只获取您的源代码,就好像它是写在代码块中一样,例如

    ```{r, code = readLines('external.R')}
    ```
    

    【讨论】:

    • 不错。我应该知道等到您提出完美优雅的解决方案 :)
    • @JoshO'Brien 哦,不,请保持你的势头 :) 谢谢!我回答这个只是因为它不是一个广为人知的功能,我很高兴我找到了一个用例。
    • @WaldirLeoncio 这只是一个基本的子集问题。你可以readLines('external.R')[c(lines, you, want, to, use)]
    • 一辉,这个方案是只打印脚本代码还是同时执行?我在这里遇到了一些奇怪的问题。
    • 您可以通过eval = TRUEFALSE选择是否执行。
    猜你喜欢
    • 2018-09-21
    • 2016-05-11
    • 1970-01-01
    • 2019-09-09
    • 1970-01-01
    • 2013-06-07
    • 1970-01-01
    • 2018-06-13
    • 2017-09-26
    相关资源
    最近更新 更多