我有这 2 行代码,我使用 R Sweave 函数运行。
\SweaveInput{samples.rnw}
\SweaveInput{\Sexpr{args$samples}}
第一行导致包含相应文件的内容,而第二行仅导致对 Sexpr{} 术语的评估,仅此而已。我想要的是:首先让评估 Sexpr{} 术语,然后包含相应的文件内容。
如何解决这个问题?谢谢
如果您使用该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/