编辑rmarkdown和knitr报告的文本/注释,无需重新运行代码

时间:2015-09-22 13:46:33

标签: r knitr r-markdown

我爱knitr& rmarkdown,但我经常发现自己处于一个冗长的报告中,需要花费大量的时间来运行。在它生成之后,我注意到文本中不可避免的拼写错误。然而,重新编织一切只是修复一些错别字(只是在文本,而不是代码)需要很长时间,似乎可以避免。我正准备开始自己开发自己的解决方案,但我认为这种情况可能已经有了一个成熟的解决方案,可能比我构建的解决方案更强大。

我想知道knitr或第三方内是否有解决方案可以让我只编辑报告文本而无需重新运行代码,生成图表和输出等。我知道,我可以简单编辑生成的html文本,但这些更改必须在生成它的R / Rmd代码中复制,否则它们会不同步。我想象一个这样的函数:

  • 参数1:带有文本编辑的R / Rmd脚本(无代码更改)...代码块更改时可能会生成警告
  • 参数2:上次参数中的R脚本编织而没有文本编辑时的html输出文件。
  • 返回:使用R / Rmd脚本(参数1)中的注释更新html报告(参数2)。

我有时会对大型数据集使用cache选项。如果我正在编写报告文本,我会在开发时打开和关闭evalecho。但是,我正在寻找一个可以解决所有这些问题的函数,因此不必为了对文本进行小的编辑而使用代码和块选项。

1 个答案:

答案 0 :(得分:1)

这是一个临时解决方案,可以让您保持直接对渲染文本进行更改的速度,但是在完成更改后您必须做一些工作。

假设有以下文件:

  • input.knitr 是原始的Knitr文件,其中包含文字和代码。

  • output.html 是由Knitr呈现的HTML代码。

考虑对output.html进行直接文字修改,然后运行类似Meld视觉合并工具的内容:

meld output.html input.knitr

然后在output.html中手动选择新内容的修改,并在原始来源input.knitr中修复。像Meld这样的工具可以很好地对齐文本,这样块和编织输出就会显得很大“变化”,实际上你会忽略它们。您将专注于非块区域中的小变化。