【问题标题】:Using Sexpr{} within \SweaveInput{}在 \SweaveInput{} 中使用 Sexpr{}
【发布时间】:2012-09-19 08:54:36
【问题描述】:

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

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

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

如何解决这个问题? 谢谢

【问题讨论】:

  • 使用 Sweave 再次运行 Sweave 的输出就可以了。还有更优雅的解决方案吗?

标签: r sweave


【解决方案1】:

如果您使用knitr package,则解决方案很简单

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

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

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

【讨论】:

    猜你喜欢
    • 2012-01-16
    • 2018-11-26
    • 2012-06-19
    • 1970-01-01
    • 2016-08-04
    • 1970-01-01
    • 1970-01-01
    • 2021-11-11
    • 2014-03-19
    相关资源
    最近更新 更多