4

我有这 2 行代码,我使用 R Sweave 函数运行。

\SweaveInput{samples.rnw}
\SweaveInput{\Sexpr{args$samples}}

第一行导致包含相应文件的内容,而第二行仅导致对 Sexpr{} 术语的评估,仅此而已。我想要的是:首先让评估 Sexpr{} 术语,然后包含相应的文件内容。

如何解决这个问题?谢谢

4

1 回答 1

3

如果您使用该knitr软件包,则解决方案很简单

<<child='samples.rnw'>>=
<<child=args$samples>>=
@

Sweave 在可编程性方面要弱得多knitr。例如,knitr允许块选项是任何有效的 R 表达式,这就是我们可以child=args$samples在这里写的原因;knitr将像函数参数一样评估块选项。

顺便说一句,该child选项等同于\SweaveInput{},但我强烈反对使用伪 LaTeX 命令。有关 Sweave vs 的更多信息knitr,请参阅http://yihui.name/knitr/demo/sweave/

于 2012-09-22T18:09:23.740 回答