在R中的read_chunk knitr函数中排除一些带图案的代码

时间:2014-01-02 12:43:13

标签: r knitr

我正在使用read_chunk函数从外部文件中读取R代码。有时我会为自己添加评论,但我想在最终文档中排除这些评论。我想知道以下模式怎么样

###################################################
### code chunk number 1:
###################################################

可以在read_chunk函数中排除。

###################################################
### code chunk number 1:
###################################################
## ---- Code1 ----
Some Code


###################################################
### code chunk number 2:
###################################################
## ---- Code2 ----
Some Code

###################################################
### code chunk number 3:
###################################################
## ---- Code3 ----
Some Code

###################################################
### The End
###################################################

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

我猜你可以过滤掉你不想要的行,

code <- "
###################################################
### code chunk number 1:
###################################################
## ---- Code1 ----
ls()


###################################################
### code chunk number 2:
###################################################
## ---- Code2 ----
ls()

###################################################
### code chunk number 3:
###################################################
## ---- Code3 ----
ls()

###################################################
### The End
###################################################
"

codelines <- readLines(textConnection(code))
# if the code is in file 'mycode.txt'
# codelines <- readLines('mycode.txt')
codelines <- codelines[!codelines == ""] # empty lines
keep <- !grepl("###", x=codelines) # comment lines
read_chunk(lines=paste(codelines[keep]))
knitr:::knit_code$get()  
knitr:::knit_code$restore()