我们可以将.Rmd文件清除为.R文件,但是如何清除.Rmd文件中的每个块以分隔由块标记命名的.R文件。
答案 0 :(得分:3)
假设您有以下.Rmd文档,名为" test.Rmd":
This is a test.
```{r chunk1}
1:4
```
This is a further test.
```{r chunk2}
5:6
```
如果purl
- ed,您会收到以下信息:
## ----chunk1--------------------------------------------------------------
1:4
## ----chunk2--------------------------------------------------------------
5:6
首先使用purl
,使用read_chunk
函数,然后将每个块写入单独的文件,您可以将其放入单独的文件中:
library("knitr")
p <- purl("test.Rmd")
read_chunk(p)
chunks <- knitr:::knit_code$get()
invisible(mapply(function(chunk, name) {
writeLines(c(paste0("## ----",name,"----"), chunk), paste0("chunk-",name,".R"))
}, chunks, names(chunks)))
unlink(p) # delete the original purl script
knitr:::knit_code$restore() # remove chunks from current knitr session
这会为每个名为"chunk-chunk1.R"
,"chunk-chunk2.R"
等的块生成一个文件,其中只包含该块的代码。