我在文件aR中写了一个Rjob,它调用文件bR中写入的函数和一个snw文件c.snw.我通过"R CMD c.snw"调用c.snw.
我正在寻找一个可能只通过\ SweaveInput {aR}将aR包含到c.snw中,但是从aR调用的函数的代码也应该写在tex文件中.这意味着Sweave跟踪包含的主R文件(此处为aR)中的所有source()命令.
任何人都可以建议如何做到这一点?
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.Rnw时library(knitr); knit('c.Rnw'),a.R将被包含在结果中(它相当于将代码复制并粘贴到块中label-a).这就是所谓的代码外化在knitr.
\SweaveInput{}不用于输入R源代码; 你只能输入Rnw文件.