在 R markdown 中,如何防止來自非緩存塊的圖被單獨保存?

b.莫里奇-漢普頓

編織 R 降價文件時,從任何塊輸出的圖cache=TRUE都獨立於 HTML 輸出保存。這對我來說很有意義。但是,即使單個塊cache=TRUE設置選項,所有塊,包括帶有 的塊,都會cache=FALSE獨立保存它們的圖。例如,以下代碼保存兩個塊的圖像文件:

---
title: "Cache Plot Test"
output:
  html_document:
    df_print: paged
---

```{r test_plot1, cache = FALSE}
library(ggplot2)
ggplot(airquality, aes(x = Temp, y = Wind)) +
  geom_point()
```

```{r test_plot2, cache = TRUE}
library(ggplot2)
ggplot(airquality, aes(x = Month, y = Ozone)) +
  geom_point()
```

如果有人想在特定塊上實現緩存但不想獨立保存輸出中的每個圖,有什麼方法可以防止這種情況發生?如果沒有這樣的選擇並且這是設計使然,那麼理由是什麼?為什麼有必要從不實現緩存的塊中保存圖?

弗里克先生

繪圖總是寫出到文件中。可以看到,對於緩存塊,重新編織文檔時圖像沒有被修改,而是非緩存塊中的圖像被重寫(檢查修改日期)。R 不會重新運行為緩存塊生成圖像的代碼。如果您沒有啟用任何緩存,rmarkdown 將在運行後“清理”並刪除所有圖像。但是因為 rmarkdown 不跟踪每個塊級別的副作用,所以當啟用緩存時,它不能再自行清理,因為它不知道哪些圖像來自哪個塊。所以它讓他們都安全。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章