R、knitr 和源函数:如何为 html 报告保留源文件注释

R, knitr, and source function: How to preserve source file comments for html report

R 控制台: 当我调用 source("file_of_functions.R",echo=TRUE) 时,所有源文件表达式,包括注释,都打印到控制台。

Knit HTML: 当我将 source("file_of_functions.R",echo=TRUE) 放入一个块中并编织到 html 时,打印出相同的输出,但注释除外。

为了我的代码和报告的清晰度,我希望源文件的注释包含在 html 报告中。

有什么建议吗?

基本示例:将以下内容保存为f.R:

# function to add a number to itself
f <- function(x) x+x
f(2)

在控制台中,调用 source("f.R",echo=TRUE) 打印:

#function to add a number to itself
> f <- function(x) x+x
> f(2)
> [1] 4

编织到html时,调用

```{r}
source("f.R",echo=TRUE)
```

产生相同的输出但没有注释。

test.Rmd

---
output: html_document
---

```{r}
options(prompt = '> ')
```

```{r}
source('./test.r', echo = TRUE)
```

```{r}
source('./test.r', echo = TRUE, keep.source = TRUE)
```

我并不是要 post 这作为答案,但我只是想指出您可以使用

轻松地将 test.r 插入代码块的可能性
```{r code=readLines('test.r')}
```

我个人认为这比使用 source() 好得多,例如默认情况下,您不会收到 > 提示(如果需要,您可以),并且 R 代码将语法突出显示。当然,您的评论会被保留。