在\ SweaveInput {}中使用Sexpr {}

时间:2012-09-19 08:54:37

标签: r sweave

我有两行代码,我用R Sweave函数运行。

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

第一行导致包含相应文件的内容,而第二行只导致Sexpr {}术语的评估,但没有别的。 我想要的是:首先评估Sexpr {}术语,然后再包含相应的文件内容。

如何解决这个问题? 感谢

1 个答案:

答案 0 :(得分:3)

如果您使用knitr package,解决方案就是

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

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

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