如何在R markdown中不按顺序显示变量?

时间:2014-06-19 16:31:44

标签: r markdown

我正在准备一份以执行摘要开头的.Rmd文档。我想包括一些内联R代码,以预先提供一些关键结果;但是,这些结果将在文档后面作为正文的一部分进行计算。

有没有办法在实际计算中按顺序/顺序呈现渲染文档中的结果?

1 个答案:

答案 0 :(得分:6)

您可以在knitr中使用块重用(请参阅http://yihui.name/knitr/demo/reference/)。在这里,您将首先分析您的块,但不创建输出,然后输出摘要,然后输出详细信息。这里有一些快速降价编织代码来显示:

```{r chunk1, echo=FALSE, results='hide'}
x <- rnorm(1)
x
```

the value of x is `r x`.

```{r chunk2, ref.label='chunk1', echo=TRUE, results='markup', eval=2}
```

请注意,代码将被评估两次,除非您采取措施来防止这种情况(在我的示例中,eval = 2)。

另一种选择是创建2个子文档,第一个运行主代码并创建输出,第二个创建摘要。然后在父文档中首先包含摘要,然后是详细信息部分。我认为您需要手动运行knitr,以便按正确顺序执行,自动子文档工具可能会以错误的顺序运行。