4

我在文件 aR 中写入了一个 Rjob,它调用在文件 bR 中写入的函数,以及一个 snw 文件 c.snw。我通过“R CMD c.snw”调用 c​​.snw。

我正在寻找一种可能性,只通过 \SweaveInput{aR} 将 aR 包含到 c.snw 中,但是从 aR 调用的函数的代码也应该写在 tex 文件中。这意味着 Sweave 会跟踪包含的主 R 文件(此处为 aR)中的所有 source() 命令。

谁能建议如何做到这一点?

4

2 回答 2

7

knitr我想在这种情况下,有了这个包裹,生活会更轻松。您可以读a.R为一个块label-a,并将其写入c.Rnw

<<read-code>>=
read_chunk('a.R', labels = 'label-a')
@
<<label-a>>
@

当你用 编译c.Rnwlibrary(knitr); knit('c.Rnw')a.R将包含在结果中(相当于将代码复制粘贴到块中label-a)。这在. _knitr

\SweaveInput{}不用于输入R源代码;您只能输入 Rnw 文档。

于 2012-05-23T19:13:11.867 回答
2

source("b.R", echo = TRUE)我敢肯定,如果你使用in ,你会得到你想要的a.R

于 2012-05-23T08:22:10.637 回答