【发布时间】:2019-11-04 13:55:53
【问题描述】:
我在 .Rmd 文件中做了一些分析。我现在想在我正在编写为 .Rnw 文件的报告中使用在此文件中创建的一些对象。由于从 Sweave 切换到 knittr 作为编织引擎,会发生以下情况:
如果我在控制台中运行 purl(input = 'myfile.Rmd', output = 'myfile.R') 行,我会得到一个 .R 文件,其中仅包含 .Rmd 文件中的 R 块。这就是我想要的。
但是,如果我将此行放入 .Rnw 文件并编织它(即 .Rnw 文件),我最终会得到一个 myfile.R 并且没有错误,但它完全是空的(由于某种原因有一个换行符除外)。
我也尝试过将knitr::opts_chunk$set(purl = TRUE)和knit_hooks$set(purl = hook_purl)放在.Rmd文件中,然后在我的.Rnw文件中使用knit()而不是purl(),但结果是一样的。
以下是一个小例子:
test.Rnw
\documentclass{article}
\begin{document}
<<test>>=
library(knitr)
purl(input = 'test.Rmd', output = 'test.R')
@
\end{document}
test.Rmd
```{r}
answer <- 42
```
预期输出:
## ------------------------------------------------------------------------
answer <- 42
实际输出:
有人有这方面的经验吗? 这是一个错误还是我错过了什么? 感谢您的帮助!
【问题讨论】:
标签: r r-markdown knitr