【问题标题】:Conversion between knitr and sweaveknitr 和 sweave 之间的转换
【发布时间】:2019-03-08 16:05:10
【问题描述】:

以前可能有人问过这个问题,但直到现在我都找不到对我真正有用的答案。

我正在使用R Studioknitr,我需要与之合作的一位同事使用sweave 格式。有没有一种在这两者之间来回转换脚本的好方法?

我已经找到 "Sweave2knitr" 并希望这将有一个 .rmd 作为所有块更改的输出(<<>>{} 等),但事实并非如此。我的主要问题是我还需要从.rmd 转换回.rnw 的选项,以便我的同事也可以重新编辑我的工作。

非常感谢!

【问题讨论】:

    标签: rstudio knitr sweave


    【解决方案1】:

    要处理代码块并将 .Rnw 文件转换为 .tex,请使用 knitr 包中的 knit() 函数而不是 Sweave()。

    R -e 'library(knitr);knit("my_file.Rnw")'
    

    Sweave2knitr() 用于将旧的基于 Sweave 的 .Rnw 文件转换为 knitr 语法。

    在程序默认值更改中: 使用 Sweave 或 knitr 编织 Rnw 文件

    【讨论】:

    • 感谢您的快速回复 - 很抱歉,因为我对整个 R 和 Knitr 领域还很陌生,可能无法以正确的方式理解您。我不想只是编织.Rnw 文件,我从未使用过 Sweave()。 - 顺便说一句,我认为我的同事确实使用基于 Sweave 的文件。
    【解决方案2】:

    Rnw 格式实际上是经过一些修改的 LaTeX,而 Rmd 格式是经过一些修改的 Markdown。 Rnw 主要有两种风格,Sweave 使用的一种是原始的,knitr 使用的一种是它的修改,但它们非常相似。

    Sweave 风味Rnw 更改为knitr 风味Rnw 并不难(这就是Sweave2knitr 所做的),但是将其中任何一个更改为Rmd 都需要进行大量更改,而且可能不是可行:当然,我希望在更改后进行大量手动工作。

    因此,对于您与合著者的联合工作,我建议您选择一种格式,然后使用它。我会为此选择Rmd:你的合著者学习 Markdown 比你学习 LaTeX 容易得多。 (如果您已经了解 LaTeX,那可能会推动另一种选择。)

    【讨论】:

      猜你喜欢
      • 2013-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-13
      • 2018-01-05
      • 2012-02-17
      • 1970-01-01
      相关资源
      最近更新 更多