R,knitr和source函数:如何保留html报告的源文件注释

时间:2015-06-30 22:52:55

标签: r knitr

R控制台:当我致电source("file_of_functions.R",echo=TRUE)时,所有源文件表达式(包括评论)都会打印到控制台。

编织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)
```

产生相同的输出但没有评论。

2 个答案:

答案 0 :(得分:10)

我不想将此作为答案发布,但我只想指出您可以使用

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

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

答案 1 :(得分:4)

test.Rmd

---
output: html_document
---

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

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

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

enter image description here