【问题标题】:Abstracts in rmarkdown that include numbers generated from the rmd itself?rmarkdown 中包含 rmd 本身生成的数字的摘要?
【发布时间】:2022-01-13 21:43:11
【问题描述】:

所以基本上我一直在用 Rmarkdown 写一篇论文。该论文包含一个摘要,其中包含从降价本身内的代码块生成的数字/结果。到目前为止,解决方法是将摘要放在论文末尾,以便在摘要中需要它们之前运行所有代码块并生成结果。

现在我实际上正在编写最终草稿,在开始时有摘要是理想的。这甚至可能吗?

谢谢!

【问题讨论】:

  • 这是一个相当模糊的问题,似乎并不适合 SO。但是,也许您可​​以将所有代码块放在文档顶部,命名它们,然后在整个文档中根据需要调用它们。

标签: r yaml r-markdown knitr


【解决方案1】:

如果您的值在运行之间不会发生变化,则一种选择是使用knitr::load_cache 从抽象部分中后续块的缓存中加载值。主要的缺点是这只会在第二次编织文档时起作用。第一次,load_cache 将给出 NULL,然后将运行后面的块并将值缓存。第二次,缓存会存在,会在摘要中使用。

```{r abstract}
y = knitr::load_cache('test-a', 'y')
print(y)
```

```{r test-a, cache=TRUE}
y = 2*pi
```

你第一次运行它会给你这个:

但是再织一次,你会看到这个:

这个有点尴尬,不过是 rmarkdown 的创建者 yihui 推荐的解决方案。请参阅此 github 问题:https://github.com/yihui/knitr/issues/868#issuecomment-68129294

您必须小心缓存块 - 确保在运行之间没有任何变化,并在进行最终(2 步)编织之前清除缓存。

【讨论】:

    猜你喜欢
    • 2016-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 2021-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多