Sweave,包括源R-Function文件

use*_*220 4 latex r sweave

我在文件aR中写了一个Rjob,它调用文件bR中写入的函数和一个snw文件c.snw.我通过"R CMD c.snw"调用c.snw.

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

任何人都可以建议如何做到这一点?

Yih*_*Xie 7

knitr在这种情况下,我想包装的生活会更容易.您可以将其读a.R作块label-a,并将其写入c.Rnw:

<<read-code>>=
read_chunk('a.R', labels = 'label-a')
@
<<label-a>>
@
Run Code Online (Sandbox Code Playgroud)

当你编译c.Rnwlibrary(knitr); knit('c.Rnw'),a.R将被包含在结果中(它相当于将代码复制并粘贴到块中label-a).这就是所谓的代码外化knitr.

\SweaveInput{}不用于输入R源代码; 你只能输入Rnw文件.