有没有办法生成 rmarkdown 文档的缓存版本,然后直接从缓存生成多个输出?

2024-02-22

我正在执行一些计算密集型操作,我想从中生成报告。我正在尝试使用 bookdown 或直接降价。本质上我想要一个 html_document 报告和一个 word_document 报告。

我的 .Rmd 文件如下所示:

---
title: "My analysis"
author: "me"
date: '2019-12-17'
output:
  bookdown::word_document2:
    highlight: tango
    df_print: kable
    reference_docx: Word_template.docx
    toc: yes
    toc_depth: 2
    fig_caption: yes
  bookdown::html_document2:
    theme: yeti
    highlight: tango
    df_print: paged
    toc: yes
    toc_depth: 2
    fig_caption: yes
    keep_md: yes
---
***

```{r child = 'index.Rmd', cache=TRUE}
```

```{r child = '01-Read_in_raw_data.Rmd', cache=TRUE}
```

```{r child = '02-Add_analysis.Rmd', cache=TRUE}
```

发生的情况是 html 和 word 文档分别缓存,这 a) 很耗时,因为它们运行了两次;b) 由于某些导出的文件在缓存时产生问题而令人烦恼(它们是在第一次 knit 操作期间生成的,但已经存在)对于第二个和后续的并生成错误)。

我尝试过只生成 .md 文件,但它并没有改变问题(a),而且我只是从 pandoc 的 .md 输入中得到非常丑陋的报告。

有谁有更优雅的方法来做到这一点?


默认情况下,缓存数据库的路径(由knitr) 取决于 R Markdown 输出格式。这就是为什么必须针对不同的输出格式(例如 HTML 和 Word)重新生成缓存的原因。要对所有输出格式使用相同的缓存数据库副本,您可以手动指定不依赖于输出格式的路径,例如,

```{r, setup, include=FALSE}
knitr::opts_chunk$set(cache.path = 'a/fixed/directory/')
```

但是,请注意,每种输出格式使用自己的缓存路径肯定是有原因的:R 代码块的输出可能取决于输出格式。例如,可以使用 Markdown 语法写出一个图![](...)用于Word输出,但可能会变成<img src="..." />用于 HTML 输出。如果您确定您的代码块没有任何副作用(例如,生成绘图和表格),则可以安全地为缓存数据库使用固定路径。通常我不建议您打开cache = TRUE对于整个文档(因为缓存很难 https://yihui.org/en/2018/06/cache-invalidation/),但只缓存特定的耗时的代码块。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法生成 rmarkdown 文档的缓存版本,然后直接从缓存生成多个输出? 的相关文章

  • R 中从右到左的运算符结合性可能吗?

    我是 R 新手 我刚刚发现我患有支架恐惧症 https mathematica stackexchange com a 17315 2266 请参阅链接中的评论 我喜欢这种方式magrittr符号 gt 有效 因为它在某些情况下避免了嵌套括
  • 解释R中模型多重共线性的别名表测试

    有人可以帮助我解释别名函数输出 以测试多元回归模型中的多重共线性 我知道我的模型中的一些预测变量是高度相关的 我想使用别名表来识别它们 Model Score Comments Pros Cons Advice Response Value
  • Highcharter 已弃用函数的输出与建议的不同

    我正在用 Josh Kunst 的出色作品制作一个时间序列情节highcharterR 中的库 使用此数据 gt dput t structure c 2 2 267822980 325286564 66697091 239352431 9
  • 将选择标准添加到 read.table

    让我们采用以下我导入的数据集的简化版本read table a lt as data frame c M M F F F b lt as data frame c 25 22 33 17 18 df lt cbind a b colname
  • 更改 blogdown 中的图形和表格标题

    我正在摆弄blogdown并想创建带有非英语标题的图形和表格 下面的块 r label1 echo FALSE fig cap Fancy caption fig fullwidth TRUE plot 1 1 生成情节和标题 图 1 精美
  • 更改列名称的字母大小写

    我有大量数据集 每个数据集都包含一长串列名 在某些文件中 列名称全部大写 而在某些文件中 仅列名称的第一个字母大写 我需要附加数据集 并认为匹配数据集中的列名称的最简单方法是将全大写名称转换为仅第一个字母大写的名称 我希望找到一个通用的解决
  • 如何在闪亮进度条的详细消息中添加换行符?

    有没有办法在闪亮的进度条消息中添加换行符 n or br 似乎不起作用 我正在尝试将我的一个旧代码转换为一个闪亮的应用程序 该代码基本上是一个接一个地调用许多函数 所有这些函数都需要一些时间来执行 从应用程序中 我想知道哪些功能已经执行以及
  • 估算缺失数据,同时强制相关系数保持不变

    考虑以下 excel 数据集 m r 2 0 3 3 0 8 4 0 1 3 2 1 5 2 2 3 1 9 2 5 1 2 3 0 2 0 2 6 我的目标是使用以下条件填充缺失值 将上述两列之间的成对相关性表示为 R 大约 0 68 将
  • R 中第三维的平均值

    R中是否有任何快速方法或内置函数来计算基于第三维的平均值 例如我的数组是 1 1 2 1 1 3 2 2 4 2 1 2 1 11 13 2 12 14 3 1 2 1 21 23 2 22 24 我的输出是 1 2 1 mean 1 11
  • 如何使用 R / igraph 设置边缘颜色和顶点间距

    我是 R 新手 试图弄清楚如何为我有数据的系统制作社交网络地图 我已经设法从常见问题解答和教程中弄清楚我想做的大部分事情 但我被困在两件事上 如何使画布更大 图表间隔更大 现在已经太挤了 目前 边缘厚度是根据重量设置的 权重代表不同的状态
  • 在开发模式下安装包(R源未编译成Rdb)

    我需要修改R代码在一个R具有 Fortran 绑定的包 当我安装软件包时 我看到存储库目录没有源代码 但是 Rdb而是二进制文件 我看了看devtools包 但我仍然不清楚如何在不编译 R 源部分的情况下安装该包 类似于 python py
  • PCA 图中带有名称的工具提示

    我想用 ggplotly 生成交互式绘图 工具提示应该显示变量的名称 interactive lt ggplotly pca dynamicTicks T tooltip c x y label list pca 是 PCA 的可视化 su
  • 使用 R 中绘制的标准误差创建条形图

    我试图找到在 R 中创建条形图并显示标准错误的最佳方法 我看过其他文章 但我无法弄清楚与我自己的数据一起使用的代码 之前没有使用过 ggplot 这似乎是最常用的方法 而 barplot 不与数据框合作 我需要在两种情况下使用它 我为此创建
  • 列表列中的设置操作

    我正在尝试做集合运算在存储在列表列中的向量之间 例如this https stackoverflow com questions 38712196 text file to dataframe with a list column DT l
  • R 中的优化函数可以接受目标、梯度和粗麻布吗?

    我有一个想要优化的复杂目标函数 优化问题需要相当长的时间来优化 幸运的是 我确实有可用的函数的梯度和粗麻布 R 中是否有一个优化包可以接受所有这三个输入 optim 类不接受 Hessian 矩阵 我已经扫描了用于优化的 CRAN 任务页面
  • 使用 Hibernate 作为 ORM 机制的 Web 应用程序中的 L1 和 L2 缓存有什么区别?

    我只想要一些有关使用 L1 缓存和 L2 缓存的标准用途的一般信息 我很好奇 因为我正在研究使用赤土陶器作为二级缓存的系统 并且我发现它也有一级缓存 L1 缓存是每个 Hibernate 会话都存在的缓存 并且该缓存不在线程之间共享 该缓存
  • R:使用 RGDAL 和 RASTER 包时抛出错误

    给所有可能相关的人 这是源代码 GRA D1 lt raster files 1 Sets up an empty output raster GRA D1 lt writeStart GRA D1 filename GRA D1 tif
  • 将值添加到 rCharts hPlot 工具提示

    我想通过 rCharts 向标准 Highcharts 工具提示添加一些额外的值 示例代码 require rCharts df lt data frame x c 1 5 y c 5 1 z c A B C D E name c K L
  • R:如何添加具有从矩阵的每一行中随机选择的值的列?

    我会先说我是一个 R 菜鸟 我认为这可能有一个简单的解决方案 但我正在努力寻找它 我有一个 2 列 1 000 行的矩阵 保持行固定 我想创建一个新变量 从两列中随机选择一个元素 例如制作一个简单的矩阵 matrix c 1 1 4 6 1
  • 当按多列分组时,如何命名 dplyr 中的 group_split 列表

    我在 dplyr 中使用 group split 在分割了多个列后 我很难命名列表 当我们按一列分组时 我知道该怎么做here https stackoverflow com questions 57107721 how to name t

随机推荐

  • iText:使用 LocationTextExtractionStrategy 从 pdf 文件中提取的文本顺序错误

    我正在使用 iText 从特定位置的 pdf 文件中提取一些文本 为此 我使用 LocationTextExtractionStrategy public static void main String args throws Except
  • 实施“more”Unix实用程序命令

    我正在努力实施more命令 我想知道如果有管道我该如何理解 例如 如果我从 shell 中输入 cat file1 file2 more 我怎样才能在 more 的实现中处理这个问题 并且是实施more可以开源吗 实际上 我无法成功读取 s
  • 使用 Selenium Webdriver 测试某个元素是否获得焦点

    我真的很惊讶我在互联网上找不到使用 Selenium Webdriver 测试元素焦点的参考资料 我想检查当尝试提交表单但缺少必填字段时 焦点何时移至空字段 但我看不到任何使用 WebDriver API 执行此操作的方法 我将能够使用找到
  • 如何获取给定 ascii 值的字符

    如何获取给定 ascii 代码的 ascii 字符 例如我正在寻找一种方法 给定代码 65 将返回 A Thanks 您的意思是 A astring 或 A 一个char int unicode 65 char character char
  • 在 Python 中搜索对象列表

    假设我正在创建一个简单的类 其工作方式与 C 风格结构类似 仅保存数据元素 我试图弄清楚如何在对象列表中搜索属性等于特定值的对象 下面是一个简单的例子来说明我正在尝试做的事情 例如 class Data pass myList for i
  • Vue mousemove仅在mousedown之后

    如何仅在首先单击元素时触发鼠标移动 我正在尝试将其用于音频播放器时间线 player time bar mousedown setNewCurrentPosition event slider role slider aria valuem
  • 许可 .Net 网站 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想知道获得网站许可的首选方法是什么 我使用可编辑的 APSX 文件分发网站的预编译版本 后面的代码被编译到每个页面的单独 DLL 中
  • Shell 脚本从日志中获取过去一小时的异常

    我正在开发脚本 该脚本将 grep 最近一小时的日志并检查任何异常并向Solaris 平台发送电子邮件 我做了以下步骤 grep n h date Y m d H M test logs 上面的命令给了我行号 然后我执行以下操作 tail
  • 两个点云的稳健配准

    我需要找到两个 3D 点云之间的变换和旋转差异 为此 我正在寻找点云库 因为它看起来很理想 在干净的测试数据上 我有迭代最近点 ICP 工作 但得到奇怪的结果 尽管我可能错误地实现了它 我有pcl estimateRigidTransfor
  • 动态改变无点参数

    我想在数据库中存储 less 参数 一个示例用例可能是每个用户根据他或她的偏好更改颜色 我认为最好的方法是解析所有 less 文件以获取参数 然后用户可以设置参数 这些参数将保存在针对用户的数据库中 当请求 less 文件时 处理程序重载可
  • 这种加密方式“安全”吗?

    首先我必须说我从来没有学过密码学 我所知道的关于这个主题的一切都只是基本概念 我们正在寻找一种快速 简单的方法来使用密码加密一些数据 将存储到数据库中 我知道 最安全 的算法是 AES 但它对我们来说可能太复杂 而且我知道它需要我们获得美国
  • 使用 Google App Engine Standard 的私有 npm 注册表

    对于所有其他 stackoverflow 问题 人们似乎都在询问私有 npm git 存储库或不同的技术堆栈 我很确定我可以在 GAE Flex 中使用私有 npm 注册表 但我想知道标准版本是否可以 来自GAE 标准文档 https cl
  • EC2实例类型的确切网络性能?

    我在 Amazon 上找不到不同 EC2 实例类型的确切网络性能详细信息 相反 他们只是说 High Moderate Low 这究竟意味着什么 我特别想知道具体的数量Traffic OUT在每个实例类型上 我需要进行直播 我的流比特率为
  • 如何使用通过页面基页附加到页面的母版页?

    在我的 ASP Net Web 应用程序中 我有一个基页面 它实现了跨 Web 应用程序所有页面的功能 并且我的网页派生自该基页面 由于整个网站只有一个母版页 因此我不想在每个网页中附加母版页 因此 我通过基本页的 OnPreInit 方法
  • 我想将表中列的值更新为标题大小写

    我在数据库中有一个表 其中存在列名称 我想将该名称字段中的值更新为标题大小写 例子 abc asd to Abc Asd 考虑到表中有数百万条记录 我想知道使用 SQL 执行此操作的最佳方法是什么 数据卫生是一场持久战 正确的案例从来都不像
  • 检查 .net core 中动态加载库的依赖关系

    我正在尝试创建使用外部 dll s 中的一些函数的插件 因为我不知道将使用哪个插件 所以我想动态加载 主要的 ASP NET Core 项目 它使用反射动态加载诸如 mailservice dll 之类的插件 mailservice dll
  • Python 中的多重分割

    如何将字符串拆分为两个相反的值 例如 and 是 分隔符 我有以下字符串 Wouldn t it be most beneficial to have at least some idea 我需要以下输出 作为数组 Wouldn t it
  • SwiftUI 中的内容是什么?

    在文档中 我看到Content在不同的上下文中 A modifier that can be applied to a view or other view modifier producing a different version of
  • 为什么 web.xml 'context-param' 不能包含字符 [children]?

    我只是好奇这会发生什么web xml我遇到此错误的代码cvc complex type 2 3 Element context param cannot have character children because the type s
  • 有没有办法生成 rmarkdown 文档的缓存版本,然后直接从缓存生成多个输出?

    我正在执行一些计算密集型操作 我想从中生成报告 我正在尝试使用 bookdown 或直接降价 本质上我想要一个 html document 报告和一个 word document 报告 我的 Rmd 文件如下所示 title My anal